On Thursday 25 June 2009 05:09:04 Rick Ant 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?
That's not okay for real hardware, but could eventually be possible on an 8Mb chip to fit that in. Try to remove all kernel stuff (modules, drivers, ...) you don't really need and just keep the essential stuff which is needed to initialize your hardware. Also keep in mind, that you don't do modules on hardware related drivers which are needed to boot the system, as it can happen that the disk is to slow in spin-up to be ready when files are needed.
My solution is a kernel with all hardware and filesystem drivers compiled in, and just the essential stuff. The rest of the drivers, features built as modules. This also avoids the need of an initrd.
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-x 86/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 telebit:~/Project/Kantor/Thin_client/coreboot-v2-4360/targets/emulation/qem u-x86/qemu-x86 #
Like Myles already mentioned you need to increase some sizes to get the qemu target working. With the qemu target it should be possible to get a working result with an 16Mb kernel, but it will get really hard on real hardware. (Normally there is too less space in the chip for such big payloads.)
Maybe you should have a look at: http://www.coreboot.org/Anatomy_of_a_Failover_coreboot_v2_Image where all the interesting size values for building an image are explained.
Don't forget to enable LZMA compression for the payload, this will possibly decrease the size of it about >50%. (My testing image has a vmlinux with 5.1Mb and get's compressed via LZMA to 1.7Mb, but I've a 4Mb chip on my hardware to get something working.)
Regards, Harald