Bug#790722: mkinitramfs fails with latest udev (>= 220-7) on some systems
On Wed, 01 Jul 2015 14:05:57 -0400 (EDT), Ben Hutchings wrote:
>
> Please note that i2o will be going away entirely (disabled in 4.0,
> removed upstream in 4.2).
Thanks, Ben, I hadn't heard that; but it really doesn't have anything
to do with this bug, per se. I happened to discover it using an i2o RAID device
on i386 using lilo. But this bug can happen with any disk device, on any hardware
platform, and with any boot loader. All one need do to expose it is to supply
the "root" parameter on the kernel command line, specifying the root file system
as a kernel composite device number, such as
root=801
If you do this, and if you use MODULES=dep, and if udev is at version 220-7,
then mkinitramfs (and update-initramfs), performed during this boot session,
will fail. I've done a little more research, and I suggest using udevadm, instead
of udevd, as the command to look for. You already make use of this command elsewhere
in initramfs-tools. The fix for this problem is a canonical (pardon the pun)
one-line change. Simply change
if command -v udevd >/dev/null 2>&1; then
to
if command -v udevadm >/dev/null 2>&1; then
in the parse_numeric function. Problem solved. And yes, I realize that using
disk labels or uuids is the recommended way to specify the root file system these
days. But that's another story, as I mentioned earlier.
Respectfully yours,
--
.''`. Stephen Powell <zlinuxman@wowway.com>
: :' :
`. `'`
`-
Reply to: