Comment 9 for bug 29858

Revision history for this message
Matt Zimmerman (mdz) wrote : Re: [Bug 29858] Re: root on lvm fails to boot.

On Thu, May 04, 2006 at 01:07:46AM -0000, Adam Conrad wrote:
> Well, this class (half-baked initrd) of bug manifests in two ways. The
> first way is that when doing an upgrade of a system to a new kernel *and*
> new udev, depending on the order the packages were unpacked, you may have
> end up with a new kernel but an old udev in the initramfs. The above
> change fixed that, so dapper kernels should always work now after a
> breezy->dapper upgrade.
>
> The second way this fails, though, is that all the packages calling
> "update-initramfs -u" during upgrade will upgrade the OLD kernel's initrd
> if the new kernel hasn't been installed yet, so the old kernel can become
> unbootable (thanks to udev not being backward-compatible). Other than
> backing out all the update-initramfs magic, or getting dpkg hooks, I'm not
> sure how best to solve this case.

Could we have udev's initramfs hook bail out somehow, leaving the old initrd
in place, if the kernel version isn't compatible? It's only udev which
should break it, right?

update-initramfs seems like the simplest place to fix this, though. We
should be able to detect the situation where the running kernel (its
upstream version number, anyway) doesn't match the "current" one (where the
symlink points) and continue successfully with a warning. How about that?

--
 - mdz