elfboot

Eric W. Biederman ebiederman at lnxi.com
Mon Jul 7 19:54:01 CEST 2003


Xavier Pegenaute <xpegenaute at telepolis.es> writes:

> Hi,
> 
> any one can help me with this ?
> 
> I was thinking that after crt0.S in ROMBASE (0x80000 for Matsonic) copy
> the LinuxBios (the payload) into DRAM (RAMBASE 0x4000 for Matsonic)
> follow the code to hardwaremain() initialitizing all hardware and arrive
> in write_tables that prepare the memory to let information about the
> hardware to the next O.S., and now we can choose between:
> 
> 1) We want start an ELF binary (not payload) that is in DoC (p.e.) after
> LinuxBios. Then we execute elfboot() that look inside the ROM for the
> next code starting with a valid ELF header, build the segments, copy the
> segments and give the control to the program.
> 
> No problem in this case, i think.

Sounds like standard use.

> 2) We want start a Linux Kernel that is recorded (neither payload) after
> LinuxBios binary in DoC (p.e.), then we execute linuxbiosmain() and in
> the end of this function we make a long jump to 0x90000.

Linuxbiosmain() is deprecated code and it always jumps to 0x100000 1MB.
Anything is not done.  And everyone is encouraged not to use linuxbiosmain
for new deployments.

> Here, i don't see what function in linuxbiosmain() copy the code of
> Kernel to DRAM.Any one know it ?

It is the gunzip part.  But please don't use that.

Eric




More information about the coreboot mailing list