[PATCH] Making vmlinux Multiboot compliant and grub capable of loading modules at boot time.

Christian Koenig ("ChristianK."@t-online.de)
Thu, 6 Dec 2001 20:17:13 +0100


Hi,

First this patch isn't "release ready", but I need some help with it.

The patch is for 2.4.14 Kernel Image, but it should patch well on other
Versions.

It adds Multiboot compatibility to vmlinux, by adding a Multibootheader to
arch/i386/kernel/head.S

The Multiboot information (apm-table, memmapping....) are converted to linux
conform things, and the Memory used by the Modules is reserved with the
bootmem bitmap in
arch/i386/kernel/setup.c

The reserved data is released in
arch/i386/mm/init.c
when the Init data is released.

Then in
init/main.c
a newly created elf-object loader is called in
kernel/boot_modules.c
inserting the Modules into the kernel.

With this grub is capable of loading multiple modules at boot time, before
the root fs is mounted..
This can't be done with initrd, because you could on load one single initrd
Image.

Look at the "Debian Installation Disk's" for an example, at the moment they
use 4 different kernel Images for the (i386) Installation disks, with this
patch they would only need 1 kernel Image.

My question is what should I do to make this patch "clean" ?
I know that vmlinux isn't compressed and contains unused elf-sections.
And I know that the elf-loader is a simple copy,paste & make it working from
the insmod sources.

Tell me what you thing about it.

MfG, Christian König. (and sorry for my poor English).

begin 644 mboot.patch.gz
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
'/':%,CX!````
`
end

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/