[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mkinitrd busted, breaks initrd kernel-image packages



I have increased the severity of #272698 to serious as it breaks mkinitrd 
(making the package unsuitable for release) which, among other things, breaks 
the installation of initrd kernel-image packages.

Compounding the problem is that the kernel-image packages successfully 
install, so if you don't see the error flash by and reboot you're left with a 
broken system :(

The code that runs the mkinitrd is the kernel-image's postinst script. This 
script is generated by the make-kpkg from the kernel-package package. In the 
master postinst that make-kpkg uses it does the following check (perl),

   my $ret = system("mkinitrd " .
                   ($mkimage ? "-m '$mkimage' " : "") .
                   "-o " . $realimageloc . "initrd.img-$version " .
                   "/lib/modules/$version");
   die("Failed to create initrd image.\n") if $ret;

I inserted a debugging print statement and mkinitrd is exiting with zero even 
though the mkinitrd is failing due to this bug. So in addition mkinitrd also 
needs to be fixed to exit non-zero if it has an internal error like this.

I also recommend that the kernel-package package add an additional check in 
the postinst that confirms that the initrd did actually get created even if 
mkinitrd exits with zero.

Thanks,

-- 
Matt Taggart
taggart@debian.org




Reply to: