Hi,
The latest git version of legacybios now supports building an elf payload. I've successfully booted it using coreboot-v3 under qemu.
Note that the payload likely wont work on real hardware - see my previous email on legacybios and coreboot.
To build, pull the latest legacybios from git (see http://git.linuxtogo.org ) and run make. The resulting elf payload will be in out/bios.bin.elf. I've also placed a payload (with serial debugging) at:
http://linuxtogo.org/~kevin/legacybios/bios.bin.elf-20080510
Unfortunately, the payload will not boot on coreboot-v2. It seems v2 will not let one load a binary into the 0xf0000 area:
============================== New segment addr 0xf0000 size 0x10000 offset 0x1000 filesize 0x10000 (cleaned up) New segment addr 0xf0000 size 0x10000 offset 0x1000 filesize 0x10000 No matching ram area found for range: [0x00000000000f0000, 0x0000000000100000) Ram areas [0x0000000000000000, 0x0000000000001000) Reserved [0x0000000000001000, 0x00000000000f0000) RAM [0x00000000000f0000, 0x0000000000100000) Reserved [0x0000000000100000, 0x0000000008000000) RAM Can not load ELF Image. ==============================
Some sample v3 messages:
============================== LAR: CHECK normal/payload/segment0 @ 0xfffc3e30 start 0xfffc3e80 len 23167 reallen 65536 compression 1 entry 0x000f6c90 loadaddress 0 x000f0000 LAR: Compression algorithm #1 (lzma) used LAR: Attempting to open 'normal/payload/segment1'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: seen member normal/stage2/segment0 LAR: seen member normal/stage2/segment1 LAR: seen member normal/stage2/segment2 LAR: seen member normal/payload/segment0 LAR: seen member bootblock LAR: File not found! LAR: load_file: No such file 'normal/payload/segment1' LAR: load_file_segments: All loaded, entry 0x000f6c90 Start bios BIOS - begin
Starting rombios32 ==============================
-Kevin