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