6.18.3 update installed but systemd-boot not updating

pacman -Q linux shows 6.18.3.arch1-1 is installed.

/efi/loader/entries only lists 6.18.2.

The new kernel files are missing from /efi/d95.../

sudo pacman -S linux and sudo reinstall-kernel ran successfully with snapper hooks

The new kernel image exists at /usr/lib/modules/6.18.3-arch1-1/vmlinuz.

The bootloader configuration is pointing to the old 6.18.2 kernel.

I am currently in a working system and I have NOT rebooted it after update from the past 48hrs; I suspect this will lead to a module version mismatch (booting 6.18.2 kernel with 6.18.3 modules on disk).

[root@matrix neo]# uname -r
6.18.2-arch2-1

[root@matrix neo]# pacman -Q linux
linux 6.18.3.arch1-1

[root@matrix neo]# bootctl list
Couldn't find EFI system partition. It is recommended to mount it to /boot/ or /efi/.
Alternatively, use --esp-path= to specify path to mount point.

[root@matrix neo]# pacman -Ql linux | grep vmlinuz
linux /usr/lib/modules/6.18.3-arch1-1/vmlinuz
[root@matrix neo]# lsblk -o name,fstype,mountpoint,uuid
NAME                                          FSTYPE      MOUNTPOINT                                          UUID
sda                                                                                                           
├─sda1                                        vfat                                                            9A7C-4B62
└─sda2                                        crypto_LUKS                                                     b5e82aa0-1972-4910-8675-4d4fe303e6cd
  └─luks-b5e82aa0-1972-4910-8675-4d4fe303e6cd btrfs       /run/media/neo/a8e6e158-2bab-46ce-a493-31d3bd0e44f5 a8e6e158-2bab-46ce-a493-31d3bd0e44f5
nvme0n1                                                                                                       
├─nvme0n1p1                                   vfat                                                            3A57-A5F0
├─nvme0n1p2                                                                                                   
├─nvme0n1p3                                   ntfs                                                            DA78585278582F8D
├─nvme0n1p4                                   btrfs       /var/log                                            6cabd822-0bc4-4561-9fc2-deb1d7b6cfe9
└─nvme0n1p5                                   vfat        /efi                                                1448-DD78
[root@matrix neo]# findmnt /efi
TARGET SOURCE         FSTYPE OPTIONS
/efi   /dev/nvme0n1p5 vfat   rw,relatime,fmask=0137,dmask=0027,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro

In last discussion with @dalto (16days ago) had asked me to set boot flags using parted; I still haven’t done that. Emergency Mode "Failed to mount /efi" during boot (systemd-boot + Btrfs + NVMe) - #19 by jet

Can you share sudo ls -l /efi/loader/entries

That is probably why bootctl --list isn’t working.

EDIT: I missed the part where you already checked the entries.

Can you share the full output from sudo reinstall-kernels in that case?

I ran into something similar last week. Somehow (probably user error lol) I had uninstalled kernel-install-for-dracut and installed eos-dracut. Once reinstall and kernel rebuild it was fixed. No idea how I did that though and didn’t see anyone else have the problem so I figure I had to have done it by accident.

❯ sudo ls -l /efi/loader/entries
[sudo] password for neo: 
total 8
-rw-r----- 1 root root 570 Dec 22 22:00 d95a4396b9a144b981ff0d6325920b9f-6.18.2-arch2-1.conf
-rw-r----- 1 root root 534 Dec 22 22:00 d95a4396b9a144b981ff0d6325920b9f-6.18.2-arch2-1-fallback.conf
❯ sudo reinstall-kernels
Installing kernel 6.18.3-arch1-1

No output or erros after Installing kernel 6.18.3-arch1-1. Starts a new prompt in the shell.

Should I set the boot flags and then try reinstall-kernels again?

I replaced kernel-install-for-dracut with eos-dracut as you suggested. It still didn’t solve the problem for me

❯ paru eos-dracut
1 endeavouros/eos-dracut 1.7-1 [16.57 KiB 3.71 KiB]
    Dracut scripts and hooks for EndeavourOS
:: Packages to install (eg: 1 2 3, 1-3):
:: 1
resolving dependencies...
looking for conflicting packages...
:: eos-dracut-1.7-1 and kernel-install-for-dracut-1.14.1-2 are in conflict. Remove kernel-install-for-dracut? [y/N] y

Package (2)                Old Version  New Version  Net Change  Download Size

kernel-install-for-dracut  1.14.1-2                   -0.02 MiB               
endeavouros/eos-dracut                  1.7-1          0.00 MiB       0.02 MiB

Total Download Size:    0.02 MiB
Total Installed Size:   0.00 MiB
Net Upgrade Size:      -0.02 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 eos-dracut-1.7-1-any                                              16.6 KiB   244 KiB/s 00:00 [-------------------------------------------------------] 100%
(1/1) checking keys in keyring                                                                [-------------------------------------------------------] 100%
(1/1) checking package integrity                                                              [-------------------------------------------------------] 100%
(1/1) loading package files                                                                   [-------------------------------------------------------] 100%
(1/1) checking for file conflicts                                                             [-------------------------------------------------------] 100%
(2/2) checking available disk space                                                           [-------------------------------------------------------] 100%
:: Running pre-transaction hooks...
(1/1) Performing snapper pre snapshots for the following configurations...
==> root: 136
:: Processing package changes...
(1/1) removing kernel-install-for-dracut                                                      [-------------------------------------------------------] 100%
(1/1) installing eos-dracut                                                                   [-------------------------------------------------------] 100%
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating initramfs...
:: Building initramfs for linux (6.18.3-arch1-1)
:: Building fallback initramfs for linux (6.18.3-arch1-1)
(3/3) Performing snapper post snapshots for the following configurations...
==> root: 137

❯ sudo ls -l /efi/loader/entries
total 8
-rw-r----- 1 root root 570 Dec 22 22:00 d95a4396b9a144b981ff0d6325920b9f-6.18.2-arch2-1.conf
-rw-r----- 1 root root 534 Dec 22 22:00 d95a4396b9a144b981ff0d6325920b9f-6.18.2-arch2-1-fallback.conf

❯ uname -r
6.18.2-arch2-1

❯ pacman -Q linux
linux 6.18.3.arch1-1

I also want to switch to LTS kernel now. :face_exhaling:

Do you use grub or Systemd-boot? If you use Grub, you use eos-dracut. If you use systemd-boot you will want to reinstall kernel-install-for-dracut. Sorry, I should have been more clear…not saying you should change if you had the right one for the bootloader you are using.

1 Like

Kernels had an update. Current is now linux 6.18.4.arch1-1

1 Like

You should not do that. It will absolutely break your system. You should revert that change.

Yes, after putting kernel-install-for-dracut back, I do that.

Yes, went back to kernel-install-for-dracut

Where exactly do I have to set boot flag

Model: WD Blue SN570 250GB (nvme)
Disk /dev/nvme0n1: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  106MB   105MB   fat32        EFI system partition          boot, esp, no_automount
 2      106MB   123MB   16.8MB               Microsoft reserved partition  msftres, no_automount
 3      123MB   55.6GB  55.5GB  ntfs         Basic data partition          msftdata
 5      55.6GB  56.7GB  1074MB  fat32                                      bls_boot
 4      56.7GB  250GB   193GB   btrfs

Partition 5

That should match what you have in /etc/fstab for /efi

@dalto It already has bls_boot flag

I am on UEFI + systemd-boot

It shouldn’t have that flag. You should remove that and add boot, esp instead.

Checked the verbose output of kernel -install kernel-install -v add 6.18.4-arch1-1 /usr/lib/modules/6.18.4-arch1-1/vmlinuz

Couldn't find an XBOOTLDR partition.
File system "/dev/nvme0n1p5" has wrong type for an EFI System Partition (ESP).
KERNEL_INSTALL_BOOT_ROOT autodetection yielded no candidates, using "/boot".
...
KERNEL_INSTALL_LAYOUT=other, quitting.

kernel-install failed to detect /efi as a valid boot root. It fell back to /boot which didn’t have the proper setup. The layout was set to other instead of bls (Boot Loader Specification). This caused the plugins to quit early without creating entries

Removed the blocking (empty) files in /etc/kernel/install.d/

rm /etc/kernel/install.d/50-dracut.install
rm /etc/kernel/install.d/90-loaderentry.install

Manually Specify Boot Root

BOOT_ROOT=/efi kernel-install -v add 6.18.4-arch1-1 /usr/lib/modules/6.18.4-arch1-1/vmlinuz

ran successfully, verified other things and everything worked well.

rebooted, got into system without any issue and saw the updated kernels. :people_with_bunny_ears:

bootctl issue still requires me to update the flag.

for now I have worked around with adding BOOT_ROOT=/efi in /etc/kernel/install.conf

and when ran bootctl --esp-path=/efi status it works well

of course it gives the warning of: File system “/dev/nvme0n1p5” has wrong type for an EFI System Partition (ESP).

Will look into it.

Thank you for the help @dalto @Greymane @UncleSpellbinder

That is a lot of extra time and work to avoid changing a couple of flags on your EFI partition.

That is more of a workaround than a solution.

I agree it is a workaround and I will updating the flags. This is my only machine I use for work :melting_face:

1 Like

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