OpenBIOS is an IEEE 1275-1994 compliant firmware which can also be used as a coreboot payload.
First you need to manually install fcode-utils. Your distribution may provide a ready-made package for fcode-utils -- on Debian systems you can do apt-get install fcode-utils for instance. Then you can build OpenBIOS as follows:
$ svn co svn://openbios.org/openbios/trunk/openbios-devel $ cd openbios-devel $ config/scripts/switch-arch x86 $ make
The file obj-x86/openbios-builtin.elf is your final OpenBIOS payload to be used with coreboot. Alternatively, you can use obj-x86/openbios-plain.elf, which does not contain a built-in dictionary and is thus a lot smaller (but not too useful).
Finally, you have to build coreboot (v3 in this example) with OpenBIOS as payload:
$ cd .. $ svn co svn://coreboot.org/repository/coreboot-v3 $ cp openbios-devel/obj-x86/openbios-builtin.elf coreboot-v3/payload.elf $ cd coreboot-v3 $ make menuconfig
Now enter the Payload menu and select Payload type and then An ELF executable payload file. Now exit the menu, save your settings, and build coreboot:
The file build/coreboot.rom (or build/bios.bin) is your final coreboot v3 image, which also contains the payload.
Running OpenBIOS in QEMU
For running the coreboot+OpenBIOS image in QEMU, you need a patched version of vgabios-cirrus.bin in your build directory first:
$ cd build $ wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip $ unzip Vgabios-cirrus.zip $ cd ..
You can now run it in QEMU:
$ qemu -L build -hda /dev/zero -serial stdio
Ready-made QEMU image
| I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.
In case this is not legally possible: