[PATCH] mkinitrd rescue mode

Bill Rugolsky Jr. brugolsky at telemetry-investments.com
Mon Jun 6 13:39:41 UTC 2005


On Sat, Jun 04, 2005 at 08:50:44AM -0400, Jeff Layton wrote:
> The early-userspace docs seem to state that you can only have a single
> cpio archive, but that multiple 'images' are allowed. I'm not clear at
> this point on what these images are and how they're stored, however.
 
I was referring explicitly to this:

   In human terms, the initramfs buffer contains a collection of
   compressed and/or uncompressed cpio archives (in the "newc" or "crc"
   formats); arbitrary amounts zero bytes (for padding) can be added
   between members.

Back in 2001, Dave Cinege proposed the following patch for GRUB:

   http://lists.gnu.org/archive/html/bug-grub/2001-06/msg00141.html

   This patch fixes GRUB's initrd loading behavior. Each 'initrd' call is
   now loaded 'inline' instead of replacing the previous file.
   This allows one to load an initrd image that is split across several
   devices (or floppies, using 'pause'). It also allows kernel patches
   like initrd_dynamic to load multiple tgz archives to construct a
   root.
   ...

Some version of this appears to have been incorporated into GRUB.  In
any case, with an appropriately patched boot loader, one could
specify two initrd load lines, and they will be concatenated together.

There ought to be a base initrd with hooks that would automatically pick
up add-on functionality just by placing files into the appropriate ".d"
directories, just as Red Hat has wisely done all over the rest of the
distribution.

A sample GRUB stanza might look like:

title Fedora Core Rescue Mode (2.6.11-1.1369_FC4)
        kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ acpi=on
	initrd /initrd-boot.img
        initrd /initrd-2.6.11-1.1369_FC4.img
	initrd /initrd-rescue.img

My preference would be to place add-on functionality in
a directory under sysconfig, e.g., /etc/sysconfig/boot.d/*,
so that rpms for EVMS, net booting, ... , could simply
drop files there.


	-Bill




More information about the devel mailing list