2

My ZFS modules have mysteriously stopped loading at the point during boot when you would usually unlock the pool with encrypted ZFS on root (Debian 10). It drops into busybox and suggests loading the zfs modules -

(initramfs)# modprobe zfs
module zfs not found in modules.dep

screenshot of initramfs find *zfs*

No updates had been applied since the last successful reboot.

So...

  1. any ideas what might have happened to cause this?

  2. is livecd/chroot/reinstall zfs-initramfs likely to work? If in the livecd I mount the rpool root dataset at / and bpool boot at /boot, is there still a need to chroot? Tempting to just reinstall and restore from backup but I would like to use this as a learning opportunity. Instructions would be appreciated.

Thanks

  • Linux root filesystem on ZFS is really not production ready, and possibly never will be. Don't use it for anything serious. – Michael Hampton Aug 31 at 13:19
  • Hi, if you solved the issue, please mark an accepted answer to let it know, or rewrite your comment to an answer and mark it as accepted, you can do that too. Thanks – yagmoth555 Aug 31 at 13:32
2

It sounds like you updated the kernel:

  1. to a newer one that isn't ABI compatible with the old one so weak-modules couldn't be used

OR

  1. you are using ZFS kmod package and ZFS kmod for your new kernel wasn't available

OR

  1. you are using DKMS ZFS modules and they for whatever reason didn't build automatically when you installed the kernel, or at least the initramfs wasn't rebuilt after they were built.

You will need to boot with your old kernel again and investigate further.

If that is not an option e.g. because you deleted all the older kernels, boot a Ubuntu livecd and mount our file systems from that for troubleshooting, since Ubuntu comes with ZFS support as standard.

| improve this answer | |
  • I followed the Debian ZFS on Root instructions to install, so presumably DKMS. I would be grateful for any clarification of my point 2 in the question, as I am not sure exactly how to troubleshoot and can't find any documentation or identical solved issues. – Gareth Aug 25 at 19:29
  • Booting with your previous kernel should just work. Then build the zfs modules for your new kernel using dkms -k new.kernel.version install zfs/zfs.version. Then rebuild the initramfs using update-initramfs -k new.kernel.version. – Gordan Bobic Aug 25 at 19:38
  • 1
    I was able to do apt-update && apt dist-upgrade after booting from the previous kernel, which built and installed everything required automatically - thanks for your help @Gordan Bobic – Gareth Aug 25 at 20:06
  • FYI to boot from previous kernel, keep pressing (for example) down-arrow while booting if necessary to prevent short grub screen timeout, then select "Advanced Options for [your distro]..." (or similar) and choose a kernel to boot from, assuming they haven't already been removed – Gareth Aug 25 at 20:23
0
apt update && apt dist-upgrade 

after booting from the previous kernel, built and installed everything required automatically.

See this comment if you need to know how to boot from a previous kernel.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.