[Etherboot-developers] NetBSD ELF/a.out support
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Wojciech P. <wo...@te...> - 2003-02-24 13:09:09
|
anyone working on it?
how can i help?
all i found is that kernel should be loaded beginning from
LMA(VMA)-c0000000 (which is 1MB in all kernels i looked at from version
1.3.3 to 1.6)
Idx Name Size VMA LMA File off Algn
0 .text 0014df54 c0100000 c0100000 00001000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rodata 000287a1 c024df60 c024df60 0014ef60 2**5
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .data 0001acf0 c0277720 c0277720 00177720 2**5
CONTENTS, ALLOC, LOAD, DATA
3 .bss 0003e1fc c0292420 c0292420 00192420 2**5
kernel should be started in flat mode with paging off, given parameters on
stack with C standard:
(howto, [bootdev], bootinfo, esym, basemem, extmem)
howto is (2 if single user)|(1 if ask for boot device)|(4 if start
debugger)
it could be always 0 for etherboot
bootdev should be 0 for new kernels - not used.
esym is used for debugger if kernel symbols are loaded to memory. it's
probably offset from kernel code to beginning of symbols, 0 if no symbols.
bootinfo is a pointer to bootinfo structure. first 4 bytes says how many
elements it has, then there are elements (like boot console info, bios
disk geometry etc.) - all well defined in NetBSD's bootinfo.h
how can i help to support it (my assembly isn't best right now)?
tried using FreeBSD support in etherboot - kernel is loaded fine then
hangs.
NetBSD already has ROM files but for only few cards and needs 32K ROMs,
and
pxeboot.bin that works for any PXE capable cards.
anyway having this in etherboot will give user a flexibility to run any OS
without reprogramming EPROM
|