[Pkg-zfsonlinux-devel] Bug#1099001: zfs-initramfs: Root pool not recognized/imported at boot
Shengqi Chen
harry at debian.org
Fri May 2 08:55:22 BST 2025
Hi,
> For what it's worth, my kernel (grub) commandline is:
> /BOOT/debian@/vmlinuz-6.12.16-amd64 root=ZFS=/ROOT/debian
This seems to be the problem. It should be root=ZFS=rootpool/ROOT/debian
in your case. This is due to grub uses its own zfs implementation with limited
feature sets (and often with bugs [1][2]). It would refuse to probe your root dev
in its grub-mkconfig stage if some of your pool features make it unhappy.
You could try the following in order to fix your booting process:
1. Upgrade to grub 2.12 in bookworm-backports, and if not working,
2. Hardcode root=ZFS=... options in /etc/default/grub
Also, if possible, you can use a separate boot pool with compatibility=grub2 set, or
a /boot partition with other filesystems like ext4. This could totally get rid of
grub’s zfs driver at boot time, but you still need to take care of the erroneous
kernel cmdline.
> Try: `zpool import -N; zpool import <poolname> -R /root`
> ... and maybe a shortened URL to help the poor sod who ever sees the
> message.
Great! Actually it took me a while to learn it should be /root when I was hit by
the same issue some time ago. The hint in initrd stage comes from [3], you could
submit a PR to upstream if you want (and I’m happy to do that also).
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848945
[2]: https://github.com/openzfs/zfs/issues/13873
[3]: https://github.com/openzfs/zfs/blob/27f3d94940490d891c70e0c148f80d0c0ce09ed4/contrib/initramfs/scripts/zfs#L901-L911
Thanks,
Shengqi Chen
More information about the Pkg-zfsonlinux-devel
mailing list