[coreboot] elf payload legacybios - boots on v3 in qemu

Kevin O'Connor kevin at koconnor.net
Sat May 10 22:04:47 CEST 2008


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:


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
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


More information about the coreboot mailing list