Re: Booting a modular kernel through a multiple streams file

Dave Cinege
2001-12-23T00:40:19Z

On Tuesday 18 December 2001 14:10, H. Peter Anvin wrote:

> Note that Al is working on a replacement; he's not just bitching. The
> replacement is called "initramfs" which means populating a ramfs from
> an archive or collection of archives passwd by the bootloader. With
> that in there, lots of things can be done in userspace.

Already done for many months (actully years) now. If I thought it
would be accepted, I'd gut rd.c and fully merge it into a 2.5 patch.

ftp://ftp.psychosis.com/linux/initrd-dyn/

Initrd Dynamic supercedes Initrd Archive. This function subset was
first written in January 1998 and has progressed in features since
then. Developed for the Linux Router Project, it is in wide spread
use in various Linux embedded systems and thin OS's.

Initial RAM disk dynamic creation support
CONFIG_BLK_DEV_INITRD_DYN
Initrd Dynamic allows you to use tar.gz archive(s) instead of those
nasty raw images. It works by dynamically creating a filesystem at
boot, mounting it as '/', then extracting the archive(s) loaded into
the initrd memory space. If your bootloader can load multiple archives
sequentially (IE a patched GRUB) all archives will be extracted in the
order they where loaded.

Optionally Initrd Dynamic can create the /dev directory and some
failsafe console files.

You must select at least one of the available filesystems below.
You probably want to use tmpfs if it's available in your kernel.

The kernel parameter to specify options is:
initrd_dyn=fstype[,fssize[k|m]][,mkdev]

fstype == One of the supported dynamic mkfs filesystems.

fssize == Limits the size of the filesystem created.
tmpfs: If not speced it's equal to the real memory space.
minix: If not speced it's equal to ramdisk_size.

mkdev == /dev is created after archive untar. Useful even if devfs=mount.

Examples:
initrd_dyn=tmpfs load_ramdisk=1
initrd_dyn=tmpfs,4096k load_ramdisk=1
initrd_dyn=tmpfs,16m,mkdev load_ramdisk=1

initrd_dyn=minix,8m ramdisk_size=20480 root=/dev/ram0 load_ramdisk=1
initrd_dyn=minix,,mkdev root=/dev/rd/0 load_ramdisk=1

--
The time is now 22:54 (Totalitarian) - http://www.ccops.org/