grub or kernel version chaos after update to 42.2 -> 42.3

which kernel version is supposed to be the newest one?

my default boots int
4.4.79-18.23-default

there is also a version
4.4.79-4-default

with the 4.4.79-4-default, nvidia optimus works,

with 4.4.79-18.23-default, nvidia optimus does not work because there are no nvidia drivers for this kernel, even if this was the active kernel when nvidia was installed, (via the easy way, see wiki)


zypper search -s kernel-default
Loading repository data...
Reading installed packages...

S  | Name                 | Type       | Version        | Arch   | Repository            
---+----------------------+------------+----------------+--------+-----------------------
i+ | kernel-default       | package    | 4.4.79-18.23.1 | x86_64 | (System Packages)     
i+ | kernel-default       | package    | 4.4.79-4.2     | x86_64 | Main Update Repository
v  | kernel-default       | package    | 4.4.76-1.1     | x86_64 | Main Repository (OSS) 
   | kernel-default       | srcpackage | 4.4.79-4.2     | noarch | Main Update Repository
   | kernel-default-base  | package    | 4.4.79-4.2     | x86_64 | Main Update Repository
   | kernel-default-base  | package    | 4.4.76-1.1     | x86_64 | Main Repository (OSS) 
i+ | kernel-default-devel | package    | 4.4.79-18.23.1 | x86_64 | (System Packages)     
i+ | kernel-default-devel | package    | 4.4.79-4.2     | x86_64 | Main Update Repository
v  | kernel-default-devel | package    | 4.4.76-1.1     | x86_64 | Main Repository (OSS) 


4.4.79-4.2 comes from the update reop, but is has a lower version umber as 4.4.79-18.23.1
but I assume that this is the newer kernel, isn’t it?

why do I default boot into 4.4.79-18.23.1 ?

in /boot/grub2/grub.cfg
4.4.79-18.23-default comes before other entries and is therefore the default

4.4.79-4-default is long below, under Advanced options for openSUSE Leap 42.3
but should not this be the default entry?

very confusing

how to fix, shall I remove 4.4.79-18.23.1 ?

OpenSUSE by default keeps 2 kernels the current and previous. The kernel will update when a newer one appears. When upgrading you should remove any non-OS drivers since they will generally not get upgraded with the rest then after the upgrade reinstall. But it all depends on the exact path/method you used to upgrade.

Because grub defaults to the highest version number. You can set default to specific kernel if you want, but then you will need to permanently adjust it when new kernels are installed and old removed.

Better question is where your kernel comes from and what was the reason to install non-default kernel in the first place.

I did not install any special kernel myself, at least no that I know

looking at yast to the information of 4.4.79-18.23 it says Distribution: openSUSE Leap 42.2
can it be that this was left after the update from 42.2 to 42.3?

I remove these 4.4.79-18.23 packages now, lets see if I can boot after that and how the system behaves after that

Oh! Yes, that’s possible - release numbers are independent in each distribution, so it’s quite possible. That’s actually a valid problem during update. I do not really see any easy fix though, except adding distribution as additional sort key.

so, boot now default into 4.4.79-4-default after removing everything 4.4.79-18.23.1. and optirun works again :slight_smile:

if 4.4.79-18.23.1 was left from 42.2, why does 42.2 hava a higher kernel number than the kernel of 42.3 ? is 42.3 a downgrade?
also interesting , I do not have this kernel left on a different notebook that I also updated
but there are differences,
other laptop has no nvidia card, only intel, and during the update (both notebooks via usb install media) is was connected via lan cable to the internet.

however, if 42.3 would not come with versions lower than currently in 42.2, than this problem would not exists and some users would have a better update experience.
so this is a house made problem
I wonder if I should report this problem somewhere
(done https://bugzilla.opensuse.org/show_bug.cgi?id=1053531)