You are not logged in.

#1 2022-07-27 09:22:50

carroarmato0
Member
Registered: 2022-07-27
Posts: 3

New Kernel not used after pacman update (EFI)

I've noticed that newer updated Kernels are not being loaded after reboots.

I'm using a system which has UEFI enabled.

[root@shuttle ~]# ls /sys/firmware/efi/efivars
16388081-69967a8c-1159-4522-aa89-74cdc6e599a0
....

Pacman installs the newer Kernel and generates the initramfs-linux and friends in /boot

...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
...

I'm using systemd-boot which correctly loads the kernel from /efi, but alas, it's not updated:

root@shuttle ~]# ls /efi/
056d9c4aea7147e78ae083560651c9bf  EFI  initramfs-linux-fallback.img  initramfs-linux.img  intel-ucode.img  loader  vmlinuz-linux

[root@shuttle ~]# md5sum /boot/initramfs-linux.img 
bc6312c3213df47210fda47c1976e110  /boot/initramfs-linux.img
[root@shuttle ~]# md5sum /efi/initramfs-linux.img 
c301968c1ac7bea7cb94e0294ca97a43  /efi/initramfs-linux.img

I'm not sure if I'm missing a pacman hook or something to make sure they are synched, or if something else is misconfigured.

[root@shuttle ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda               8:0    0 223.6G  0 disk 
├─sda1            8:1    0   511M  0 part 
└─sda2            8:2    0 223.1G  0 part 
  ├─system-swap 254:0    0     8G  0 lvm  
  └─system-root 254:1    0 215.1G  0 lvm  /var/lib/containers/storage/overlay
                                          /

Offline

#2 2022-07-27 11:38:53

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,657

Re: New Kernel not used after pacman update (EFI)

You can either mount your /efi to /boot so that the initramfs is updated directly, adjust the preset file you see in the pacman message so that the initramfs is generated into /efi instead of /boot or create a custom pacman hook that runs after the mkinitcpio hook that manually copies the image.

Offline

#3 2022-07-27 13:07:57

carroarmato0
Member
Registered: 2022-07-27
Posts: 3

Re: New Kernel not used after pacman update (EFI)

V1del wrote:

You can either mount your /efi to /boot so that the initramfs is updated directly, adjust the preset file you see in the pacman message so that the initramfs is generated into /efi instead of /boot or create a custom pacman hook that runs after the mkinitcpio hook that manually copies the image.

I think in my case, systemd is responsible for mounting EFI in /efi.  No entry in fstab, and mount reveils autofs

[root@shuttle ~]# mount | grep efi
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
systemd-1 on /efi type autofs (rw,relatime,fd=48,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=11111)

So I think I should indeed look into writing a pacman hook.

Offline

#4 2022-07-27 13:25:46

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,657

Re: New Kernel not used after pacman update (EFI)

Via appropriate entry in fstab you can override whatever systemd's default behaviour is.

Offline

#5 2022-07-27 14:00:00

carroarmato0
Member
Registered: 2022-07-27
Posts: 3

Re: New Kernel not used after pacman update (EFI)

In the end I followed this piece in the documentation https://wiki.archlinux.org/title/EFI_sy … ng_systemd

Thanks for the help @V1del

Offline

Board footer

Powered by FluxBB