Jake Page <[EMAIL PROTECTED]> writes:

> Hi,
> 
> I have been trying to get the elfboot to boot a kernel, but am having
> problems...
> 
> Here's the error message:
> ==
> Jumping to linuxbiosmain()...
> 
> Welcome to elfboot, the open sourced starter.
> Febuary 2001, Eric Biederman.
> Version 0.99
> 
>     72:fill_inbuf() - zkernel_start:0xfff80000  zkernel_mask:0x0000ffff
>    101:fill_inbuf() - nvram:0xfff80000  block_count:0
> Bad ELF Image
> 
> 99 61 46 36 cf e3 a9 eb f3 69 94 4c 2b d4 dc 2a 
> 84 5b c5 fe b8 82 42 32 f2 c1 ef aa c9 94 0c ac 
> b2 0a 7b 8e c4 0d 88 46 ba 13 33 06 14 97 19 4f 
> 82 5a 61 6d 

It looks like it is objecting to the ELF signature of your image.
It should start with 7f 45 4c 46 bytes 1-3 being ascii for ELF.
So I'd say your image was not built correctly.
 
> I have successfully booted etherboot & redboot ELF images (by putting them
> in the 2nd to last 64k block and setting ZKERNEL_START=0xFFFE0000).  But
> when I try 0xFFF80000 and putting the images at the start of the ROM I get
> errors like above...
> 
> I'm a little fuzzy on the meaning behind the ZKERNEL_START param - 

The name is a little bit historical but it is an actual physical address,
that data is read from.

> or the
> way the ROM is mapped, I guess.  I know the ROM is mapped to a 64k window,
> but not how it actually gets paged, etc.  Just figured since 0xFFFE0000
> mapped to end-64k, then 0xFFF8000 maps to end-512k (plus that's the
> default linuxbios uses...)

That sounds correct.  This assumes your chipset has that mapped, nvram_on
should do this but it may not be set up correctly.  

Things you can try.  Change ZKERNEL_START start and attempt etherboot or redboot.
This should check your procedure.  Boot your elfimage with etherboot to
make certain it works.  (Assuming etherboot works for your card).

> I made the rom image by a variant of some advice Eric gave a while ago
> (it was for a 256k part, so below is modified for my 512 part)
> 
> dd if=/dev/zero of=romimage bs=1k count=512
> dd if=<elfimage> of=romimage  bs=64k count=1 conv=notrunc conv=sync
> seek=6
> dd if=linuxbios.rom of=romimage bs=64k count=1 conv=notrunc
> conv=sync seek=7
> 
> When I rebuild linuxbios with ZKERNEL_START=0xFFF80000 and remove the
> "seek=6" frome lin 2 above, then I get a "Bad ELF Image" error...
> 
> The ELF kernel rom, on the otherhand, I made using mkelfimage, padding
> the end to 448k, and cat'ing it with linuxbios.rom.

That sounds like it should work...
 
> Any tips as to what I'm doing wrong here?

Some ideas.  the problme isn't immediately apparent from your description.

Eric

Reply via email to