On Wed, Jun 24, 2009 at 9:09 PM, Rick Ant rick_077@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