[LinuxBIOS] Patch for vmlinux amd64 with mkelfImage

Eric W. Biederman ebiederm at xmission.com
Sun Nov 5 16:05:09 CET 2006


yhlu <yinghailu at gmail.com> writes:

> On 11/4/06, Eric W. Biederman <ebiederm at xmission.com> wrote:
>> 1M for bzImage remains fine.  All bootloaders would break if you
>> changed that.  But for vmlinux you pretty much have it nailed.
>
> Actually, we only mkelfImage with bzImage before we are trying to use
> lzma to compress elf (tiny kernel vmlinux + uncompressed). lzma can
> get 5% more space than bz2.

First a decode of letters, in bzImage the b stands for big and the
z stands for gzip.  We don't have a bzip2 decompressor in there.

An interesting question is if we make a bImage target that does everything
except the decompression (because nothing would be compressed) would that
suit your needs?

> I hope you can keep startup_32 in your new arch/x86_64/kernel/head.S.
> then we don't need to switch from 32bit mode to 64 bit mode in head.s
> of mkelfImage.  and still convert 64elf to 32bit elf. Also it would
> make other 32 bit bootloader still can load vmlinux64.
> Then we only need to make sure head.s of mkelfImage can get correct entry_point.

Hacks like that are a support pain.   I don't have a problem with weird
magic compatibility glue in the bzImage format but I don't want to introduce
another one.

> Or we need to make elfboot in LinuxBIOS to be 64elf aware, and it need
> to switch 64bit before load 64bit elf.

At least before we jump to the 64bit elf.  For size the 32bit kernel should
be smaller, so I don't understand the interest in the 64bit kernel at this
point.  If we do the 32/64bit transition at the last moment like etherboot
does this requires about 100-200 extra lines of code.

Eric




More information about the coreboot mailing list