Mailinglist Archive: opensuse-features (263 mails)

< Previous Next >
[openFATE 309205] Remove old kernel package only after the new one successfully booted
Feature changed by: Michal Marek (michal-m)
Feature #309205, revision 14
Title: Remove old kernel package only after the new one successfully

openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger)
reject date: 2010-03-24 09:37:10
reject reason: 11.2 is long out, let's file for 11.3.
Requester: Important

openSUSE-11.3: Rejected by Federico Lucifredi (flucifredi)
reject date: 2010-05-28 17:33:45
reject reason: Too late.
Requester: Important

openSUSE-11.4: Rejected by Michal Marek (michal-m)
reject date: 2011-05-04 17:05:24
reject reason: Not done.
Requester: Important

- openSUSE 11.5: Implementation
+ openSUSE 12.1: Done
Requester: Important

Requested by: Luis Freitas (jazzmelody)
Requested by: Martin Barry (supine)
Product Manager: (Novell)
Product Manager: (Novell)
Project Manager: (Novell)
Engineering Manager: (Novell)
Developer: (Novell)
Partner organization:

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
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

- related SLE feature (feature/id: 312018)
- Kernel upgrade removes modules of running kernel subtly breaking the
system until rebooted into new kernel (novell/bugzilla/id: 590496)

#1: unknown user (2010-03-23 14:38:59)
This is another symptom of needing the ability to clean up an old
kernel after a successful boot.

#2: (michal-m) (2010-03-23 16:02:38) (reply to #1)
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.

#6: Luis Freitas (jazzmelody) (2011-04-16 02:36:19) (reply to #1)
I use OpenSUSE in a production environment for server purposes and this
is a very important (and secure) feature that is needed

#7: Matthias Bach (themarix) (2011-05-03 17:51:58) (reply to #6)
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.

#9: Michal Marek (michal-m) (2011-05-04 17:09:36) (reply to #7)
Unrelated to this fate entry, could you try pushing your "read dm-crypt
key from usb key"-solution to Factory mkinitrd? Thanks.

#5: Martin Seidler (pistazienfresser) (2010-11-01 10:34:11)
See also:
# for Ubuntu: last-good-boot
# other openFATE Treads:
## #310665: Keep the current kernel when doing a kernel update through
## #306971: keep the previous kernel after update process (306971)

#8: Michal Marek (michal-m) (2011-05-04 17:04:59)
I'm going to work on a script that cleans up old kernels on boot. I'll
post details later.

+ #10: Michal Marek (michal-m) (2011-06-21 14:15:02) (reply to #8)
+ This is on the way to Factory now:
+ . 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.

openSUSE Feature:

< Previous Next >
This Thread
  • No further messages