Messages in this thread | | | Date | Wed, 4 Oct 2006 16:22:44 -0400 | From | Vivek Goyal <> | Subject | Re: [PATCH 12/12] i386 boot: Add an ELF header to bzImage |
| |
On Tue, Oct 03, 2006 at 09:40:56PM -0700, H. Peter Anvin wrote: > 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. >
Eric/Peter,
How about just extending bzImage format to include some info in real mode kernel header. Say protocol version 2.05. I think if we just include two more fields, is kernel relocatable and equivalent of ELF memsz, then probably this information should be enough for kexec bzImage loader to load and run a relocatable kernel from a different address.
Thanks Vivek - 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/
| |