Unable to enter the system after update

error: file ‘/boot/initramfs-linux.img’ not found

After that there is a kernel panic,
VFS: Unable to mount root fs on unknown-block(0,0)

All help appreciated.

That almost always means the update didn’t finish successfully.

You should boot off the ISO, arch-chroot in following the “arch-chroot” article on the EOS wiki.

Then run dracut-rebuild from the chroot.

When running dracut-rebuild I get the error:
Failed to find module ‘zfs’
FAILED: /usr/lib/dracut/dracuf-install -D /var/tmp/dracut.dGPVsIU/initramfs -H --kerneldir /usr/lib/modules/6.15.2-arch1-1 -m zfs
installkernel failed to module zfs

Are you using zfs?

Yes

What happens if you run modprobe zfs before running dracut-rebuild

FATAL: Module zfs not found in directory /lib/modules/6.13.7-arch1-1

Are you in the chroot?

If so, what does pacman -Q | grep zfs return?

zfs-dkms 2.3.2-1
zfs-utils 2.3.2-1

You may need to install zfs-dkms outside the chroot.

Exit the chroot and install zfs-dkms then go back into the chroot again.

When installing zfs-dkms I got an error:
ERROR: specified kernel image does not exist: ‘/boot/vmlinuz-linux’
error: command failed to execute correctly

Is that in the hook at the end? If so, that is fine, you can ignore that error. It is failing to rebuilt the initramfs but that doesn’t matter since you are on the ISO.

Sorry I don’t exactly understand what you meant
dracut-rebuild still shows the same error

I tried installing the newest ISO and doing it again on that but same result.

I removed zfs-dkms and zfs-utils and dracut-rebuild finished successfully and I now have access to my system again, without my zfs pool however.

Trying to install zfs from system

resolving dependencies...
looking for conflicting packages...

Package (1)           Old Version  New Version  Net Change

endeavouros/zfs-dkms  2.3.2-1      2.3.2-1        0,00 MiB

Total Installed Size:  18,46 MiB
Net Upgrade Size:       0,00 MiB

checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Running pre-transaction hooks...
(1/1) Remove upgraded DKMS modules
==> dkms remove zfs/2.3.2
:: Processing package changes...
reinstalling zfs-dkms...
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Install DKMS modules
==> dkms install --no-depmod zfs/2.3.2 -k 6.15.2-arch1-1
Deprecated feature: CLEAN (/usr/src/zfs-2.3.2/dkms.conf)
==> WARNING: `dkms install --no-depmod zfs/2.3.2 -k 6.15.2-arch1-1' exited 1
(3/4) Updating initramfs...
:: Building initramfs for linux (6.15.2-arch1-1)
dracut[I]: Executing: /usr/bin/dracut --force --hostonly --no-hostonly-cmdline /boot/initramfs-linux.img 6.15.2-arch1-1
dracut[I]: *** Including module: bash ***
dracut[I]: *** Including module: systemd ***
dracut[I]: *** Including module: systemd-ask-password ***
dracut[I]: *** Including module: systemd-battery-check ***
dracut[I]: *** Including module: systemd-cryptsetup ***
dracut[I]: *** Including module: systemd-initrd ***
dracut[I]: *** Including module: systemd-journald ***
dracut[I]: *** Including module: systemd-modules-load ***
dracut[I]: *** Including module: systemd-pcrphase ***
dracut[I]: *** Including module: systemd-sysctl ***
dracut[I]: *** Including module: systemd-tmpfiles ***
dracut[I]: *** Including module: systemd-udevd ***
dracut[I]: *** Including module: i18n ***
dracut[I]: *** Including module: btrfs ***
dracut[I]: *** Including module: crypt ***
dracut[I]: *** Including module: dm ***
dracut[I]: *** Including module: kernel-modules ***
dracut[I]: *** Including module: kernel-modules-extra ***
dracut[I]: *** Including module: lvm ***
dracut[I]: *** Including module: mdraid ***
dracut[I]: *** Including module: qemu ***
dracut[I]: *** Including module: qemu-net ***
dracut[I]: *** Including module: zfs ***
dracut-install: Failed to find module 'zfs'
dracut[E]: FAILED:  /usr/lib/dracut/dracut-install -D /var/tmp/dracut.dEfspKh/initramfs -H --kerneldir /usr/lib/modules/6.15.2-arch1-1 -m zfs
dracut[F]: installkernel failed in module zfs
(4/4) Checking which packages need to be rebuilt
error: error: reading '/etc/pacman.d/mirrorlist' failed (Value too large for defined data type)reading '/etc/pacman.d/mirrorlist' failed (Value too large for defined data type)

free(): double free detected in tcache 2
free(): double free detected in tcache 2
error: reading '/etc/pacman.d/mirrorlist' failed (Value too large for defined data type)
free(): double free detected in tcache 2
error: reading '/etc/pacman.d/mirrorlist' failed (Value too large for defined data type)
free(): double free detected in tcache 2

That is normal and probably the cause of your issue in the first place.

It takes time for zfs support to catch up with new kernels. It is better to use the LTS kernel when relying on zfs.

Is there a tutorial/article showing how to switch to the LTS kernel?

sudo pacman -S linux-lts linux-lts-headers

1 Like

Is there a reason you’re specifically using zfs and not btrfs, you might save yourself some trouble if you used a native Linux filesystem?

IMO, btrfs isn’t a replacement for zfs more than any other filesystem is.

zfs has many features that btrfs does not.