Re: Booting a modular kernel through a multiple streams file

James A Sutherland
2001-12-19T09:27:33Z

On Tuesday 18 December 2001 7:10 pm, H. Peter Anvin wrote:
> Followup to: <T57e612d0dbac1785e6169@pcow028o.blueyonder.co.uk>
> By author: James A Sutherland <james@sutherland.net>
> In newsgroup: linux.dev.kernel
>
> > On Tuesday 18 December 2001 8:55 am, Alexander Viro wrote:
> > > On Tue, 18 Dec 2001, James A Sutherland wrote:
> > > > Not necessarily. You could, say, put the modules in a small
> > > > filesystem image - say, Minix, or maybe ext2. Then just have the
> > > > loader put that disk image into RAM, and have the kernel able to read
> > > > disk images from RAM initially.
> > > >
> > > > Of course, this revolutionary new features needs a name. Something
> > > > like initrd, perhaps?
> > >
> > > Had you actually looked at initrd-related code? I had and "bloody
> > > mess" is the kindest description I've been able to come up with. Even
> > > after cleanups and boy, were they painful...
> >
> > With a choice between that, or teaching lilo, grub etc how to link
> > modules - and how to read NTFS and XFS, and losing the ability to boot
> > from fat, minix etc floppies, tftp or nfs servers - almost any level of
> > existing nastiness would be preferable to that sort of insane codebloat!
>
> 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.

What I was suggesting is that using an initfs (whether initrd, initramfs or
something else) is a better approach than trying to get the bootloader
grovelling around in the kernel innards - initramfs strengthens this
argument, I think. Just put the modules into archives, and use initramfs to
access them and a copy of insmod...

James.