LTS Kernel fails to mount, fallback to emergency shell

Hi all,

I’m getting the problem that has been discussed before (e.g. in this thread) where I get the following error message on boot:

:: running early hook [udev]
Warning: /lib/modules/6.1.44-1-lts/modules.devname not found - ignoring
Starting systemd-udevd version 254.1-1-arch
:: running hook [udev]
:: Triggering uevents…
:: running hook [keynap]
:: Loading keymap…done.
Waiting 10 seconds for device /dev/disk/by-uuid/5b4e1531-9d0b-40f7-a56b-0bc9f8b127cb
Waiting 10 seconds for device /dev/disk/by-uuid/5b4e1531-9d0b-40f7-a56b-0bc9f8b127cb
ERROR: device ‘UUID=5b4e1531-9d0b-40f7-a56b-0bc9f8b127cb’ not found. Skipping fsck.
:: mounting "UUID-5b4e1531-9d0b-40f7-a56b-0bc9f8b127cb’ on real root
mount: /new root: can’t find UUID=5b4e1531-9d0b-40f7-a56b-0bc9f8b127cb.
ERROR: Failed to mount ‘UUID=5b4e1531-9d0b-40f7-a56b-0bc9f8b127cb’ on real root
You are now being dropped into an emergency shell
sh: can’t access tty: job control turned off
[rootfs ]#

Whenever I got this error using the default kernel in the past, I would just run sudo mkinitcpio -P and that would fix it. Unfortunately, I am currently using the LTS kernel (because that fixed a separate issue I was having), but now mkinitcpio no longer fixes the problem.

Also, I should point out that using the fallback initramfs for the LTS kernel works flawlessly every time, so the problem is solely to do with the default LTS boot option in Grub.

I checked my partitions using lsblk and the UUID shown in the error message is the correct one for my Linux installation (I’m dual booting), so I don’t know what else to try at this point.

Any pointers would be appreciated.

Are you using systemd-boot?

Can you share the output of

find /usr/lib/modules/$(uname -r) -type f | grep -Ev "(\.zst|build)"

@ricklinux - no, I’m using Grub

@dalto:

/usr/lib/modules/6.1.44-1-lts/modules.builtin
/usr/lib/modules/6.1.44-1-lts/modules.symbols
/usr/lib/modules/6.1.44-1-lts/modules.builtin.bin
/usr/lib/modules/6.1.44-1-lts/modules.builtin.modinfo
/usr/lib/modules/6.1.44-1-lts/modules.devname
/usr/lib/modules/6.1.44-1-lts/modules.alias.bin
/usr/lib/modules/6.1.44-1-lts/modules.alias
/usr/lib/modules/6.1.44-1-lts/modules.symbols.bin
/usr/lib/modules/6.1.44-1-lts/modules.dep
/usr/lib/modules/6.1.44-1-lts/pkgbase
/usr/lib/modules/6.1.44-1-lts/modules.softdep
/usr/lib/modules/6.1.44-1-lts/modules.order
/usr/lib/modules/6.1.44-1-lts/vmlinuz
/usr/lib/modules/6.1.44-1-lts/modules.builtin.alias.bin
/usr/lib/modules/6.1.44-1-lts/modules.dep.bin

That all looks fine to me.

It is very strange that mkinitcpio is excluding some needed items from your boot image.

Yeah, it’s weird.

Here is the output of sudo mkinitcpio -P, if that helps:

https://pastebin.com/raw/kdMeYZM6

Ok, I’m an idiot.

I realized that the issue was with reFind - by default I always select the shortcut to skip Grub and boot straight into Endeavour using boot\vmlinuz. However, that was linked to the standard kernel rather than the LTS kernel.

Long story short, if anyone else has this issue, you can fix it by editing /boot/efi/EFI/refind/refind.conf and uncommenting the line that says extra_kernel_version_strings linux-lts,linux.

This fixes the problem.

It might have helped if you had of mentioned using rEFInd in the beginning. :wink:

Sorry, I’ve been using it for so long it didn’t even register as important information. D’oh :upside_down_face:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.