Comment 22 for bug 222421

Revision history for this message
Michaƫl Witrant (mike-lepton) wrote :

Since this problem
* is known to happen sometimes (whether the circumstances are clear or not),
* happens on valid systems (for example using do_bootloader=no is not an error),
* may reappear in the future (any package can call update-grub after kernel unpacking and the kernel package may not call it during postinst for whatever reason),
* will break the whole system (by making it unbootable),
* is very hard to figure out and fix once it happened (the problem is not obvious, you only get a generic kernel panic and the recovery boot option doesn't work),
* is very easy to detect and prevent before reboot (simply check menu.lst and call update-grub),

I'd suggest a sanity check after upgrade, or after any kernel installation. Since the kernel package does know it needs an initrd line, it could check menu.lst : if the installed kernel is present without an initrd line, raise an error, ask the user, call update-grub, or do anything that will warn the user.

Another easy fix would be to generate the initramfs just after unpacking. Or to install the kernel in /boot only once the initramfs has been generated.