(Cross-posted from Raspberry Pi StackExchange)
My Raspberry Pi 4 was originally loaded with Ubuntu 21.04, but after yesterday's release of 21.10, I upgraded using the do-release-upgrade
command.
Among the other upgraded packages, there was a new Linux kernel: prior to the upgrade, the kernel version was 5.11.0-1019-raspi
, while a new version 5.13.0-1008-raspi
was installed in the course of the upgrade.
After the requested reboot at the end of the upgrade process, I found out that kernel version 5.11.0-1019-raspi
was still in use. I have attempted to reinstall modules such as linux-image-5.13.0-1008-raspi
, linux-image-raspi
linux-modules-5.13.0-1008-raspi
and linux-raspi
, as well as removing the old kernel version. I have confirmed that /boot/vmlinuz
and /boot/firmware/vmlinuz
point to the same file, and it is the one for version 5.13.0-1008-raspi
. Furthermore, after removing the old version, even vmlinuz.old
points to the new version, so I have no idea where the system is fetching the old version from. Note that there have been quite a few reboots in the process, even a physical one by removing the power cable.
Regardless of everything done above, the system still boots to 5.11.0-1019-raspi
. I suspect there's a missing installation step that updates some kind of onboard memory on the Raspberry Pi.
Note that, ever since installing Ubuntu 21.04 in this board a few months ago, I've seen apt upgrade
install new kernel versions -- I am made aware of this due to the need to recompile a custom kernel module. Thus, the upgrade has worked automatically in the past. I'm not sure why it's not working this time.
My question is: what do I need to do make the Raspberry Pi boot the new version of the kernel?
EDIT: as requested, these are the contents of /etc/default/grub
:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
As for grub-editenv
, which didn't even exist (I had to install the grub-common
apt
package), its output is empty. I may be wrong, but doesn't Raspberry Pi use its own boot system which sidesteps grub
?