SeaBIOS: Difference between revisions
(Initial LegacyBIOS build tutorial.) |
|||
Line 5: | Line 5: | ||
=== LegacyBIOS === | === LegacyBIOS === | ||
You can download the latest version of LegacyBIOS through a git repository: | |||
<source lang="bash"> | |||
$ mkdir foo | |||
$ cd foo | |||
$ git clone git://git.linuxtogo.org/home/kevin/legacybios.git legacybios | |||
$ cd legacybios | |||
</source> | |||
Alternatively, the released versions of LegacyBIOS can be found at http://linuxtogo.org/~kevin/legacybios/. | |||
Edit '''src/config.h''' and set the following values: | Edit '''src/config.h''' and set the following values: | ||
<source lang="C"> | |||
#define CONFIG_COREBOOT 1 | |||
#define CONFIG_DEBUG_SERIAL 1 | |||
#define CONFIG_PCIBIOS 0 | |||
</source> | |||
Then: | Then: | ||
<source lang="bash"> | |||
$ make AVOIDCOMBINE=1 | |||
</source> | |||
The final LegacyBIOS payload file is '''out/bios.bin.elf''', which can be used with coreboot v2 or v3. | The final LegacyBIOS payload file is '''out/bios.bin.elf''', which can be used with coreboot v2 or v3. |
Revision as of 13:58, 16 June 2008
LegacyBIOS is an open-source legacy BIOS implementation, which can also be used as coreboot payload.
Building
LegacyBIOS
You can download the latest version of LegacyBIOS through a git repository:
<source lang="bash"> $ mkdir foo $ cd foo $ git clone git://git.linuxtogo.org/home/kevin/legacybios.git legacybios $ cd legacybios </source>
Alternatively, the released versions of LegacyBIOS can be found at http://linuxtogo.org/~kevin/legacybios/.
Edit src/config.h and set the following values:
<source lang="C">
- define CONFIG_COREBOOT 1
- define CONFIG_DEBUG_SERIAL 1
- define CONFIG_PCIBIOS 0
</source>
Then:
<source lang="bash"> $ make AVOIDCOMBINE=1 </source>
The final LegacyBIOS payload file is out/bios.bin.elf, which can be used with coreboot v2 or v3.
coreboot
Finally, you have to build coreboot (v3 in this example) with LegacyBIOS as payload:
$ cd .. $ svn co svn://coreboot.org/repository/coreboot-v3 $ cp legacybios/out/bios.bin.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 LegacyBIOS payload.
Running LegacyBIOS in QEMU
For running coreboot+LegacyBIOS 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 LegacyBIOS in QEMU:
$ qemu -L build -hda /dev/zero -serial stdio
Ready-made LegacyBIOS QEMU image
TODO
I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.
In case this is not legally possible: |