After update from 20250105, Kernel version remains the same

I believe it has to do with me modifying the boot entry last time for Virtualbox.

How do I fix it so that whenever it dups, it uses the latest kernel version?

Changing the boot entry won’t prevent a new kernel from being used when you run zypper dup.

Run the following commands and share the output:

uname -a
cat /etc/os-release

I am seeing 6.12.8-1 as the latest version to be available for installation on Tumbleweed (I’m currently on 6.12.6-1, as I updated last on the 3rd).

> uname -a
Linux THONKYMECH.lan 6.12.6-1-default #1 SMP PREEMPT_DYNAMIC Thu Dec 19 17:23:25 UTC 2024 (fb072de) x86_64 x86_64 x86_64 GNU/Linux
> cat /etc/os-release
NAME="openSUSE Tumbleweed"
# VERSION="20250106"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20250106"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
# CPE 2.3 format, boo#1217921
CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20250106:*:*:*:*:*:*:*"
#CPE 2.2 format
#CPE_NAME="cpe:/o:opensuse:tumbleweed:20250106"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"

OK, how about the output from:

sudo zypper ll

and

rpm -qa | grep -i kernel | grep -v firmware

If you modified the settings in YaST → Bootloader, to always start the system with a defined kernel version, undo this setting and set it to the generic “openSUSE Tumbleweed”.

You mean this? It is generic openSUSE Tumbleweed.

Sorry didn’t see this earlier.

> sudo zypper ll
# | Name     | Type    | Repository | Comment
--+----------+---------+------------+--------
1 | neofetch | package | (any)      | 
> rpm -qa | grep -i kernel | grep -v firmware
purge-kernels-service-0-9.8.noarch
python311-ipykernel-6.29.5-3.2.noarch
kernel-default-6.12.8-1.1.x86_64
kernel-default-6.12.6-1.1.x86_64

Result when I ran sudo mkconfig

I have no idea what mkconfig command does. Post the complete command and its full output including subsequent shell prompt. As preformatted text, not as screenshots.

It generates a new grub.cfg in /boot/efi/EFI/opensuse/.

Below is an old screenshot from half a year ago where I had to use grub rescue.

image

Also, I decided to do something stupid today. I made a backup of grub.cfg and ran grub.cfg with nothing to see what happens. I restarted my machine and saw a GNU Grub shell. I had to flash a drive to boot into recovery mode and follow this process GitHub - Mirppc/Grub-Recovery-SUSE: guide on how to recover from a broken grub install and also how to repair your suse system with access to the system's yast utility. . I went through it and my machine boots up again now with 6.12.8. I hope it continues to use the latest kernel from now on because I don’t know how to tell it to.

@ENTPRESTIGIOUS where did you glean that grub2-mkconfig command from?

If you look at the default grub file in /etc/default/grub which is what you should be editing to add any kernel options (or use YaST Bootloader) it’s grub2-mkconfig -o /boot/grub2/grub.cfg

Through Google search and ChatGPT and because mine is an EFI system.

@ENTPRESTIGIOUS Then I suggest going forward, have a look at system config files and the comments enclosed and man pages… no internet needed for those (well if installed).

I also have an EFI system. But I use:

grub2-mkconfig -o /boot/grub2/grub.cfg

as Malcolm suggested.

After a normal install to an EFI system, “/boot/efi/EFI/opensuse/grub.cfg” just tells grub to pull in “/boot/grub2/grub.cfg”.

You have broken that. To get it back, you can use “Yast Bootloader” and change something – I usually change the timeout by 1 second to force a reinstall.