Keeping more than two kernels ready for boot

I use the proprietary NVIDIA drivers and have been hit by a black-screen issue (Tumbleweed 20230328) recently. I can still boot by choosing the previous kernel from the boot menu albeit without the NVIDIA drivers loaded (probably the old kernel modules have not been kept). I am now afraid to update again as that would remove the known good kernel from the boot options. Is it possible to specify more kernels to be kept than the two I have now?

https://en.opensuse.org/SDB:Keep_multiple_kernel_versions

1 Like

Here’s what I do:

I’m referring to that Wiki link provided by @hui

I use:

multiversion.kernels = oldest,latest,latest-1,running

When there’s a new kernel series, I normally delete the oldest kernel. For example, when the 6.2 kernels arrived, I deleted the oldest kernel (a 6.0 kernel), and then the most recent 6.1 kernel became the oldest and is kept.

At one time when I was having issue, I added an “oldest+1” so that I would be keeping kernels from two old series. When that issue was resolved, I removed the “oldest+1”.

1 Like

You do not have oldest in the list you posted.

1 Like

Thanks. Fixed.

(padding to 20 characters for posting).

to keep a specific kernel see malcolms advice here

1 Like

Another alternative:
I manage kernels manually. All my installations have the following configuration:

# systemctl status purge-kernels.service
○ purge-kernels.service
     Loaded: masked (Reason: Unit purge-kernels.service is masked.)
     Active: inactive (dead)

I have multiple TW installations with kernels as old as 5.4.14. Each’s initrd has the immutable flag set once it has worked, so that its regeneration is disallowed.

1 Like