. "$BST_LIB"
require hexdump util-linux/present

# hexdump renders the canonical dump (offset column, hex bytes, ASCII gutter):
# "ABC" -> "00000000  41 42 43  |ABC|". The argv form `hexdump <file>` uses
# freopen(), which needs dup3(2) — unwired on this runtime, so it fails ENOSYS
# (brintos.io kernel gap); reading the same file on stdin exercises the identical
# formatting path and works.
tmp=${TMPDIR:-/tmp}/bst-ul.$$
printf 'ABC' > "$tmp"
check_out util-linux/hexdump-canonical "41 42 43" hexdump -C < "$tmp"
rm -f "$tmp"

# dmesg reads the kernel ring buffer via syslog(2); the boot banner is always there.
check_out util-linux/dmesg "Linux version" dmesg

# lsblk enumerates block devices from sysfs. The browser runtime (virtio-fs root)
# exposes no block layer, so lsblk lists nothing but runs clean.
check util-linux/lsblk-runs lsblk
