linux-image-2.6.39 not booting due to older package (not in list of dependencies!)
there's a rather complex set of interdependencies between
linux-image-2.6.39, libdevmapper, initramfs-tools and LVM that has
resulted in a system which last had 2.6.32-trunk-amd64 installed (and
associated packages) failing to boot when the latest 2.6.39 kernel was
installed. the root filesystem is on an LVM partition.
the error that occurred will be familiar to anyone who has done kernel
development especially embedded linux development: unable to find root
filesystem, after only about 5-10 lines of kernel messages. it's
incredibly early on in the boot process, and is probably in the
initial ramdisk stuff, when looking for (duh) the root filesystem.
the *only* thing that was installed, which resulted in the boot
failure, was the linux 2.6.39 kernel. this, obviously, triggered an
initrd build (but not of the 2.6.32 one, i don't recall seeing that:
could be wrong though).
now, i've discussed this on the bugtracker and there clearly isn't -
and really shouldn't be - a listed debian dependency between
linux-image-2.6.39 kernel and a userspace library. however, there
clearly *is* a dependency because "It Don't Wurk (tm)".
so the issue is: how the bloody hell should this clear dependency be
expressed in "Debian Dependency" terms, such that nobody else runs
smack into this same issue?
ben's suggested that there may be something in initramfs-tools that's
up the creek. however, i'm having difficulty finding a link (depends,
rdepends) between libdevmapper and initramfs-tools (which may in fact
be the issue).
are there any other ideas on how this may be resolved?
p.s. here is a list of reverse-dependencies of libdevmapper, and
dependencies of initramfs-tools (and a few more). not going
significantly into any depth here [wookey, where's that visualisation
graph system you were working on! :) ] it's hard to find a link
between initramfs-tools which *explicitly* mentions "LVM2" and any
lvm2 packages in any initramfs-tools dependencies. beh?
lkcl@teenymac:~$ apt-cache rdepends libdevmapper1.02.1
Depends: klibc-utils (>= 1.5.9-1), cpio, module-init-tools, udev (>=
0.086-1), findutils (>= 4.2.24)
Recommends: busybox (>= 1:1.01-3) | busybox-initramfs
Depends: libc6 (>= 2.7-1), libselinux1 (>= 2.0.59), libvolume-id0 (>=
0.113-1~), lsb-base (>= 3.0-6)
Pre-Depends: debconf (>= 1.4.69) | debconf-2.0
Conflicts: hal (<< 0.5.6-2), hotplug, initramfs-tools (<< 0.39),
initscripts (<< 2.85-16), klibc-utils (<= 1.4.19-1), lvm-common (<<
1.5.13), makedev (<< 2.3.1-80), module-init-tools (<< 3.2.2-1),
multipath-tools (<< 0.4.7-2)