Re: [PATCH 12/12] i386 boot: Add an ELF header to bzImage

H. Peter Anvin
2006-10-04T04:41:52Z

Vivek Goyal wrote:
>
> Hi Andrew,
>
> Right now I don't have access to my test machine. Tomorrow morning,
> very first thing I am going to try it out with your config file.
>
> This patch just adds and ELF header to bzImage which is not even used
> by grub.
>

Oh yes, it will be. See below.

> So without this patch you are able to boot the kernel on your laptop?

Danger, Will Robinson. GRUB, Etherboot, and a whole bunch of other boot
loaders will recognize an ELF binary and load it as such. They will
typically load it as an executable (not a relocatable object) -- I doubt
many of them check that appropriate part of the ELF header -- so unless
your kernel can be safely loaded *AND RUN* in that mode this is not
going to work.

The entrypoint is going to be a major headache, since the standard
kernel is entered in real mode, whereas an ELF file will typically be
entered in protected mode, quite possibly using the C calling convention
to pass the command line as (argc, argv). God only knows how they're
going to deal with an initrd.

It may very well be that the ELF magic number has to be obfuscated.

-hpa