RE: Booting a modular kernel through a multiple streams file

Grover, Andrew
2001-12-17T22:11:06Z

> From: Alexander Viro [mailto:viro@math.psu.edu]
> On Mon, 17 Dec 2001, Grover, Andrew wrote:
> > I don't think multiple streams is a good idea, but did you
> all see the patch
> > by Christian Koenig to let the bootloader load modules?
> That seems to solve
> > the problem nicely.
>
> That puts an awful lot of smarts into bootloader and creates
> code duplication
> for no good reason.
>
> We _already_ have code for loading modules. And it's going
> to stay, no
> matter what happens on boot. So why the hell duplicate that
> in $BIGNUM
> unrelated pieces of software (LILO, SYSLINUX, MILO, SILO, etc.)? Just
> to create extra fun with debugging?

OK so (correct me if I'm wrong) there are two parts to loading modules -
getting them in memory, and then resolving references. My understanding of
Christian's work is that the bootloader (e.g. GRUB) gets them in memory, but
then it is up to the kernel linker to resolve refs. So yes, there would be
an additional piece of code (marked __init), but it would not have to be
duplicated for each bootloader -- all they have to do is get the modules in
memory and indicate via the multiboot struct where they are.

I don't think this will obsolete any existing boot methods, but it seems
like an additional genuinely useful capability for the Linux kernel to have.

Regards -- Andy