SeaBIOS: Difference between revisions
m (Various fixes.) |
|||
Line 1: | Line 1: | ||
'''SeaBIOS''' (previously known as '''LegacyBIOS''') is an open-source legacy BIOS implementation, which can also be used as coreboot payload. | '''SeaBIOS''' (previously known as '''LegacyBIOS''') is an open-source legacy BIOS implementation, which can also be used as coreboot [[Payloads|payload]]. | ||
== Building == | == Building == | ||
Line 12: | Line 12: | ||
</source> | </source> | ||
Alternatively, the released versions of SeaBIOS can be found at http://linuxtogo.org/~kevin/ | Alternatively, the released versions of SeaBIOS can be found at http://linuxtogo.org/~kevin/SeaBIOS/. | ||
Edit '''src/config.h''' and set the following values: | Edit '''src/config.h''' and set the following values: | ||
Line 61: | Line 61: | ||
</source> | </source> | ||
You can now run | You can now run SeaBIOS in QEMU: | ||
<source lang="bash"> | <source lang="bash"> | ||
Line 67: | Line 67: | ||
</source> | </source> | ||
== Ready-made | == Ready-made SeaBIOS QEMU image == | ||
TODO | TODO | ||
{{PD-self}} | {{PD-self}} |
Revision as of 00:21, 20 December 2008
SeaBIOS (previously known as LegacyBIOS) is an open-source legacy BIOS implementation, which can also be used as coreboot payload.
Building
SeaBIOS
You can download the latest version of SeaBIOS through a git repository:
<source lang="bash"> $ git clone git://git.linuxtogo.org/home/kevin/seabios.git seabios $ cd seabios </source>
Alternatively, the released versions of SeaBIOS can be found at http://linuxtogo.org/~kevin/SeaBIOS/.
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 SeaBIOS 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 SeaBIOS as payload:
<source lang="bash"> $ cd .. $ svn co svn://coreboot.org/repository/coreboot-v3 $ cp seabios/out/bios.bin.elf coreboot-v3/payload.elf $ cd coreboot-v3 $ make menuconfig </source>
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:
<source lang="bash"> $ make </source>
The file build/coreboot.rom (or build/bios.bin) is your final coreboot v3 image, which also contains the SeaBIOS payload.
Running SeaBIOS in QEMU
For running coreboot+SeaBIOS in QEMU, you need a patched version of vgabios-cirrus.bin in your build directory first:
<source lang="bash"> $ cd build $ wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip $ unzip Vgabios-cirrus.zip $ cd .. </source>
You can now run SeaBIOS in QEMU:
<source lang="bash"> $ qemu -L build -hda /dev/zero -serial stdio </source>
Ready-made SeaBIOS 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: |