Hello,
This is a list of patch which simplify the file structure of
the kernel residing in /boot . The file named with a KGZ extension
( for instance /boot/linux-2.6.13.kgz ) is simply the usual ELF file
named linux-2.6.13/vmlinux tranformed to binary with objdump and
gzip'ed.
This new file structure can be "natively" loaded by the Gujin GPL
bootloader version 1.2 available on sourceforge:
http://sourceforge.net/projects/gujin
Gujin homepage with screenshoots:
http://gujin.org
Gujin FAQ and HOWTO:
http://sourceforge.net/docman/display_doc.php?docid=1989&group_id=15465
Gujin can also load files bzImage and the like but only in
its "compatibility" mode where it replaces the real mode assembler
by its own C code and uses the 32 bits protected mode entry point,
for technical reasons.
To get this new file you apply at least the two first patch of this
list and simply type:
make /boot/linux-2.6.13.kgz ROOT=auto
This list of patch does not change the old Makefile process, so you can
still make the old target and load with LILO or GRUB.
Gujin bootloader will check some parameter of the kernel (for instance
to forbid to run a kernel compiled with TSC on a i386) and for that
purpose check the content of the comment part of the gzip KGZ file.
The real-mode ia32 assembler parts present in the kernel
(files under linux-2.6.13/arch/i386/boot) are completely unused for
the new KGZ file structure and that real mode probing is replaced by
a function written in standard C (second patch of this list).
I dropped some complex stuff like the recognition of ISA video card
from the real-mode C source, because a bit of cleanning is needed from
times to times (has to be done also for x86_64 - no ISA bus on those).
The real mode C function produce exactly the same memory mapping for real
mode parameters (file zero-page.txt), and is inserted at end of the ELF
vmlinux file by the linker.
There isn't any more a limit for the size of the uncompressed kernel.
Signed-off-by: Etienne Lorrain <[email protected]>
This first part just add two standalone programs, one to edit/display
the comment field of a GZIP file, and one which display a line on
stdout to describe the main configuration of the kernel being compiled,
to be output on the comment line of the GZIP being produced.
Etienne.