[coreboot] Corrupt rom -- found no header at 458720

Myles Watson mylesgw at gmail.com
Thu Jun 25 17:02:30 CEST 2009


On Wed, Jun 24, 2009 at 9:09 PM, Rick Ant <rick_077 at yahoo.com> wrote:

> I try to use
>
> $ mkelfImage --append="console=ttyS0" --initrd=initrd vmlinuz linux.elf
>
> When :
> telebit:~/Project/Kantor/Thin_client/coreboot-v2-4360/targets # ./buildtarget emulation/qemu-x86/Config.lb
>
> and do
>
> make..
>
> I get coreboot.rom on 512Kbyte
>
> My initrd is 1Mbyte and vmlinuz 16Mbyte..is it ok?
>
> The make result is situated below...
> Is it ok ? if I want to change the chipset, what should i do?
> My chipset is 82810 North and 82801 South..
>
> ====
> .......................
> Payload: 0 coreboot: 65536 ROM size: 65536 Left space: 0
> if [ 0 -eq 1 -a 1 -eq 1 ]; then echo l > cbfs-support; fi
> make[1]: Leaving directory
> `/root/Project/Kantor/Thin_client/coreboot-v2-4360/targets/emulation/qemu-x86/qemu-x86/normal'
> rm -f ./coreboot.rom
> cat normal/coreboot.rom > ./coreboot.rom.bootblock
> ./cbfstool ./coreboot.rom create 524288 65536 ./coreboot.rom.bootblock
> ./cbfstool ./coreboot.rom add-payload
> /root/Project/Kantor/mkelfImage-2.7/linux.elf normal/payload
> Corrupt rom -- found no header at 458720
> make: *** [coreboot.rom] Error 1
>
This admittedly isn't a very helpful error.  It happens when you try to add
a payload that is larger than the free space.  You can't add a 16 MB kernel
to a 512K ROM.  LZMA isn't that good.  You might want to look at the way
buildrom builds kernels, since they end up being much smaller than that one.

For qemu you can just change the ROM_SIZE to be big enough in
targets/emulation/qemu-x86/Config.lb.  For real hardware you'll need to:

1. Pick a board that's supported by coreboot-v2 (or add the code to support
it)
2. Get a flash chip that's large enough to fit what you want (not all boards
can support large chips)
3. Make sure that your board/flash chip combination is supported by flashrom
or you have some other way of writing to it

If you can't get it to fit, you could try using etherboot or seabios+gpxe to
load your kernel from the network.

Thanks,
Myles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090625/05977773/attachment.html>


More information about the coreboot mailing list