Difference between revisions of "OpenBIOS"

From coreboot
Jump to: navigation, search
(Initial OpenBIOS build instructions.)
(More detailed build instructions.)
Line 2: Line 2:
  
 
== Building ==
 
== 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/openbios-devel
 
  $ svn co svn://openbios.org/openbios/openbios-devel
Line 8: Line 12:
 
  $ make
 
  $ 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.
+
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}}
 
{{PD-self}}

Revision as of 13:45, 30 April 2008

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 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/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 these instructions if you want to try out coreboot and OpenBIOS in QEMU.

Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.