Home_greyopenFATE - openSUSE feature tracking > #309205
Dashboard | Search | Sign up | Login

Please login or register to be able to edit or vote this feature.

Remove old kernel package only after the new one successfully booted

Feature state

openSUSE 12.1
Done
openSUSE-11.2
Rejected Information
openSUSE-11.3
Rejected Information
openSUSE-11.4
Rejected Information

Description

When the kernel package is upgraded the old one is immediately removed leaving the currently running kernel with no modules. This breaks anything that requires modules until the user has an opportunity to reboot.

The removal of the old package should be delayed till the system is rebooted into the new kernel.

Reproducible: Always

Steps to Reproduce:
1. Kernel package is upgraded
2. Try to run tcpdump

Actual Results:
3. Get error about "interface not supported" and "unknown address family"
4. Reboot into new kernel
5. Try again to run tcpdump with identical arguements
6. tcpdump works as expected

Expected Results:
3. tcpdump works as expected even before system is booted into new kernel

Relations

Discussion


icons/user_comment.png . . wrote: (8 years ago)

This is another symptom of needing the ability to clean up an old kernel after a successful boot.

icons/user_comment.png . . wrote: (8 years ago)

Let alone defining "successful boot" would be tough, but let's say if the user has logged in, there is at least some success (but e.g. the network might still not be working though). This would be the kernel packaging part. Then there would need to be some way to tell the package manager "now it's time to remove packages x,y and z, ask the user for confirmation either via the update applet, or as soon as the package manager is started".

IMO it would be a nice feature, but I have no idea how difficult the zypp/yast/updater applet part would be.

icons/user_comment.png L. F. wrote: (6 years ago)

I use OpenSUSE in a production environment for server purposes and this is a very important (and secure) feature that is needed professionally.

icons/user_comment.png M. B. wrote: (6 years ago)

Same for me. Currently every kernel update is a risk as it might break my "read dm-crypt key from usb key"-solution with now way back. Having the old kernel would always leave the option to boot back to a working system and try again.

icons/user_comment.png M. M. wrote: (6 years ago)

Unrelated to this fate entry, could you try pushing your "read dm-crypt key from usb key"-solution to Factory mkinitrd? Thanks.

icons/user_comment.png M. S. wrote: (7 years ago)

See also:

# for Ubuntu: last-good-boot
https://wiki.ubuntu.com/KernelTeam/removing-old-kernels

# other openFATE Treads:

## #310665: Keep the current kernel when doing a kernel update through yast https://features.opensuse.org/310665

## #306971: keep the previous kernel after update process
https://features.opensuse.org/306971

icons/user_comment.png M. M. wrote: (6 years ago)

I'm going to work on a script that cleans up old kernels on boot. I'll post details later.

icons/user_comment.png M. M. wrote: (6 years ago)

This is on the way to Factory now: http://lists.opensuse.org/opensuse-commit/2011-06/msg00669.html . There will be a new variable in zypp.conf, multiversion.kernels, that can be set to a list of kernels to keep after a kernel update. For this to work, the multiversion variable must be set as well. You also need an updated mkinitrd package that provides the script that does the kernel removal. I'll blog about this feature in more detail when I get the time for that.

icons/user_comment.png K. E. wrote: (6 years ago)

It would be great, if you could also add a short release notes entry. Either in the Fate client or by clicking https://features.opensuse.org/309205#add_releasenotes

Last change: 6 years ago
Voting
Score: 40
  • Negative: 1
  • Neutral: 1
  • Positive: 41
Feature Export
Application-xmlXML   Text-x-logPlaintext   PrinterPrint