Closed
Description
Using the official Centos 7.9 image provided here: Here
How to reproduce:
- Build ZFS from source according to these instructions.
- Build RPM packages, install them, build DKMS, load module, create pool, create a root dataset, set mointpoint, rsync the enture root volume on it, chroot and create initramfs, check with lsinitrd if everything zfs related is included... full migration to a ZFS root.
- Change the cmdline from root=/dev/mmcblk0p3 to root=ZFS=zroot/ROOT/centos and reboot.
Expected result:
System boots normally or if there's an issue with the initrd go to initramfs shell.
Actual result:
System goes into kernel panic.
- If stated 'rootwait' then the system waits indefinitely
- Even if try to add rd.shell it still goes to kernel panic without going to shell and giving troubleshoot option
Investigation steps and things I have checked:
- When change back the cmdline from root=ZFS=zroot/ROOT/centos to root=/dev/mmcblk0p3 then the system boots normally, and the pool gets imported with no issues.
- When booting into init=/bin/bash with root=ZFS=zroot/ROOT/centos the system still won't boot and go into kernel panic even if rd.shell is enabled
- When booting into init=/bin/bash with root=/dev/mmcblk0p3 the zfs module is not loaded. Even if I do modprobe zfs the zfs commands still do not work with module not loaded error. After manually mounting /proc and /sys then modprobing zfs everything works normal. The pool gets imported but I cannot continue booting with zfs root because the kernel cmdline already has /dev/mmcblk0p3 stated as root