Package: initramfs-tools-core Version: 0.142 Severity: normal Tags: patch With a root filesystem on ZFS then mkinitramfs builds an initrd that lacks fsck.zfs:
testaroli# mkinitramfs -o /boot/initrd.img-$(uname -r) W: Couldn't identify type of root file system for fsck hook testaroli# zstdcat /boot/initrd.img-$(uname -r) | cpio -itv | grep fsck 381518 blocks testaroli# I'm sure this patch will break more than it fixes, but at least it worked for me and writing it here may help others in the short-term: I edited /usr/share/initramfs-tools/hooks/fsck, located the code block: ... if [ "${MNT_DIR}" = "/" ] || [ "${MNT_TYPE}" = "auto" ]; then MNT_FSNAME="$(resolve_device "${MNT_FSNAME}")" fstype() { "/usr/lib/klibc/bin/fstype" "$@"; } if ! get_fstype "${MNT_FSNAME}"; then echo "W: Couldn't identify type of $2 file system for fsck hook" >&2 fi unset -f fstype else ... and replaced it with: ... if [ "${MNT_DIR}" = "/" ] || [ "${MNT_TYPE}" = "auto" ]; then mount | sed -rn "s@.* on $MNT_DIR type ([^ ]+) \\(.*@\\1@p" else ... (I.e. the body of the 'then' clause is replaced.) After which rerunning the above test produced: testaroli# mkinitramfs -o /boot/initrd.img-$(uname -r) testaroli# zstdcat /boot/initrd.img-$(uname -r) | cpio -itv | grep fsck -rwxr-xr-x 1 root root 55664 Feb 13 03:48 usr/sbin/fsck -rwxr-xr-x 1 root root 762 Feb 25 23:32 usr/sbin/fsck.zfs 381657 blocks testaroli# This might actually be *two* bugs in two different packages (initramfs-tools-core because /usr/share/initramfs-tools/hooks/fsck produces an ugly warning when root filesysem is on ZFS; zfs-initramfs because it doesn't drop a hook into /usr/share/initramfs-tools/hooks to get fsck.zfs included) but certainly you know what is most appropriate better than I do. -- System Information: Debian Release: bookworm/sid APT prefers testing-security APT policy: (500, 'testing-security'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.1.0-6-amd64 (SMP w/2 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages initramfs-tools-core depends on: ii coreutils 9.1-1 ii cpio 2.13+dfsg-7.1 ii e2fsprogs 1.46.6-1 ii klibc-utils 2.0.12-1 ii kmod 30+20221128-1 ii logsave 1.46.6-1 ii udev 252.6-1 Versions of packages initramfs-tools-core recommends: ii busybox 1:1.35.0-4+b2 ii zstd 1.5.4+dfsg2-3 Versions of packages initramfs-tools-core suggests: pn bash-completion <none> -- no debconf information