Netwinder boot process
Ralph Siemsen
ralphs at netwinder.org
Mon May 30 07:05:09 EDT 2005
Jim Tittsler wrote:
> Where can I find documentation about the NetWinder boot process? I
> would like to TFTP an Inferno kernel to the NetWinder and boot it. I'm
> TFTPing something, but not actually running it... since I assume it
> doesn't look enough like the "kernel" format it is expecting. I see
> messages on the serial port about "data seg reloc to", "bss seg reloc
> to", and "Assuming A.OUT kernel. It then copies data to 0xC000... and
> I'm guessing jumps there.
Yep, that's pretty much it. If the image is not recognize as ELF, then
its asssumed to be a.out and execution actually begins 20 bytes into the
image... the first 20 bytes typically being NOP instructions. All of
the zImage and similar binary formats are treated this way.
> Are there still documents online somewhere that explain the boot
> sequence?
There are a few notes scattered in the Firmware-HOWTO, particularly
section 3.7 and chapter 5. Anything else, just ask and I'll try to find
you an answer :)
> Can I boot a non-Linux kernel more easily by breaking into
> the boot process earlier and using the "Debug" mode? (Is it
documented?)
About the only difference is that in "debug" mode, there is no "struct
param" prepared prior to execution of the kernel. TFTP is much more
convenient but if you prefer the serial route it can be used.
Some things to consider- the raw image you are loading, is it fully
linked and all relocs have been processed? Is it PIC code or does it
have to be run at a specific address?
-R
More information about the Netwinder
mailing list