F39 - /boot/loader/entries not updating

I upgraded from Fedora 38 to Fedora 39 months ago, today I want to change the kernel on my Raspberry Pi to a downstream one.

I installed the kernel and rebooted, but that kernel (Version 6.1) isn’t presented there.

sudo ls -l /boot/loader/entries

total 12
-rw-r--r-- 1 root root 350 Dec 23 00:35 68bcd2f3991c4c1390c44f825131a70b-6.2.9-300.fc38.aarch64.conf
-rw-r--r-- 1 root root 350 Dec 23 00:35 f99711aab59b444cb6da134ca03f3ab9-6.6.6-200.fc39.aarch64.conf
-rw-r--r-- 1 root root 350 Dec 23 00:35 f99711aab59b444cb6da134ca03f3ab9-6.6.7-200.fc39.aarch64.conf

sudo ls -l /boot

total 172088
-rw-r--r--   1 root root   231170 Dec 23 00:18 config-6.1.61-1.rpi4.fc39.aarch64
-rw-r--r--   1 root root   209158 Dec 23 00:09 config-6.1.61-1.rpi.fc39.aarch64
-rw-r--r--   1 root root   300657 Dec 11 08:00 config-6.6.6-200.fc39.aarch64
-rw-r--r--   1 root root   300670 Dec 13 08:00 config-6.6.7-200.fc39.aarch64
lrwxrwxrwx   1 root root       26 Dec 23 00:09 dtb -> dtb-6.6.7-200.fc39.aarch64
drwxr-xr-x   2 root root     4096 Dec 23 00:18 dtb-6.1.61-1.rpi4.fc39.aarch64
drwxr-xr-x   2 root root     4096 Dec 23 00:09 dtb-6.1.61-1.rpi.fc39.aarch64
drwxr-xr-x  18 root root     4096 Dec 16 00:11 dtb-6.6.6-200.fc39.aarch64
drwxr-xr-x  18 root root     4096 Dec 21 22:29 dtb-6.6.7-200.fc39.aarch64
drwx------   4 root root     4096 Jan  1  1970 efi
drwx------.  3 root root       50 Dec 23 00:35 grub2
-rw-------   1 root root 35019516 Dec 16 00:15 initramfs-6.6.6-200.fc39.aarch64.img
-rw-------   1 root root 34868130 Dec 23 00:23 initramfs-6.6.7-200.fc39.aarch64.img
drwxr-xr-x.  3 root root       21 Apr 14  2023 loader
lrwxrwxrwx   1 root root       46 Dec 16 00:15 symvers-6.6.6-200.fc39.aarch64.xz -> /lib/modules/6.6.6-200.fc39.aarch64/symvers.xz
lrwxrwxrwx   1 root root       46 Dec 21 22:34 symvers-6.6.7-200.fc39.aarch64.xz -> /lib/modules/6.6.7-200.fc39.aarch64/symvers.xz
-rw-------   1 root root  4100596 Dec 23 00:18 System.map-6.1.61-1.rpi4.fc39.aarch64
-rw-------   1 root root  3741020 Dec 23 00:09 System.map-6.1.61-1.rpi.fc39.aarch64
-rw-------   1 root root  7233570 Dec 11 08:00 System.map-6.6.6-200.fc39.aarch64
-rw-------   1 root root  7234787 Dec 13 08:00 System.map-6.6.7-200.fc39.aarch64
-rwxr-xr-x   1 root root 26280448 Dec 23 00:18 vmlinux-6.1.61-1.rpi4.fc39.aarch64
-rwxr-xr-x   1 root root 23890432 Dec 23 00:09 vmlinux-6.1.61-1.rpi.fc39.aarch64
-rwxr-xr-x   1 root root 16376320 Dec 11 08:00 vmlinuz-6.6.6-200.fc39.aarch64
-rwxr-xr-x   1 root root 16372224 Dec 13 08:00 vmlinuz-6.6.7-200.fc39.aarch64

rpm -qa kernel

kernel-6.6.6-200.fc39.aarch64
kernel-6.6.7-200.fc39.aarch64
kernel-6.1.61-1.rpi.fc39.aarch64

One thing that confused me is /boot/loader/entries still have an entry referring to a non-existed kernel, and still showing it’s F38’s stock kernel.

I’ve tried running sudo grub2-mkconfig -o /etc/grub2-efi.cfg and sudo dracut --force, but no success

Kernel to switch to: dwrobel/kernel-rpi Copr

Have you contacted the owner of that copr repo for assistance.
It would seem that the initramfs image was not created.

It also is unclear what you mean about the content of /boot/loader/entries/ since you provided a comment but no detail. Is that by chance a rescue image entry? If so it does not show in /boot which should be the case.

For any kernel than the running one when running dracut it is necessary to specify the kernel for which you are trying to create the boot files. See the man page for dracut for more info.

I expect you may have needed to use
sudo dracut --force 6.1.61-1.rpi4.fc39 or similar.
you also may need to run sudo grub2-mkconfig -o /boot/grub2/grub.cfg after dracut completes since it appears the install of that kernel did not complete properly.

Lets check if the kernel install procedure isn’t in systemd-boot mode: Run sudo kernel-install |grep KERNEL_INSTALL_LAYOUT

This is a common cause for the configuration not to by upgraded by a kernel install.

No, I didn’t contact Copr owner.
I do managed to figure out how to remove Kernel 6.2 entry, and there is no rescue image at all, GRUB config file also have one line saying DISABLE_RESCUE or something

Also my current hacky fix is to run install-kernel manually

It shows other

My Rpi4 that was upgrade from f38 to f39 also has this entry and none of the supporting files.
I guess is a glitch in the upgrade that lost track of that entry file.

I found I could just rm that entry file and grubby --info=ALL is happy.

Yes, I just removed that file