Difference between revisions of "OpenBIOS"
(Initial page, needs more information.) |
(→OpenBIOS: repo URL changed.) |
||
| (2 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | + | '''[http://openbios.org OpenBIOS]''' is an IEEE 1275-1994 compliant firmware which can also be used as a coreboot payload. | |
| + | |||
| + | == Building == | ||
| + | |||
| + | === OpenBIOS === | ||
| + | |||
| + | First you need to manually install [http://openbios.org/FCODE_suite 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). | ||
| + | |||
| + | === coreboot === | ||
| + | |||
| + | 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: | ||
| + | |||
| + | $ make | ||
| + | |||
| + | 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 == | ||
| + | |||
| + | Please follow [http://www.coreboot.org/QEMU#coreboot_v3_.2B_OpenBIOS these instructions] if you want to try out coreboot and OpenBIOS in [[QEMU]]. | ||
| + | |||
| + | {{PD-self}} | ||
Latest revision as of 01:25, 11 July 2009
OpenBIOS is an IEEE 1275-1994 compliant firmware which can also be used as a coreboot payload.
Contents |
[edit] Building
[edit] OpenBIOS
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).
[edit] coreboot
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:
$ make
The file build/coreboot.rom (or build/bios.bin) is your final coreboot v3 image, which also contains the payload.
[edit] 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
[edit] Ready-made QEMU image
Please follow these instructions if you want to try out coreboot and OpenBIOS in QEMU.
| |
I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.
In case this is not legally possible: |