Coreboot at Your Service!
Listing 7. Configuration for Bayou Payload
<BayouConfig> <global> <timeout>5</timeout> </global> <payloads> <payload type="chooser" flags="default"> <file>payloads/filo.elf</file> </payload> <payload type="chooser"> <file>payloads/coreinfo.elf</file> </payload> <payload type="chooser" flags="default"> <file>payloads/tint.elf</file> </payload> </payloads> </BayouConfig>
The config file is fairly straightforward. The default payload starts after five seconds, and if nothing is chosen, the default is FILO. The other options are tint or coreinfo (Figure 4 shows it running in QEMU).
Next, make a directory for the payloads, put them into it, and then run make:
$ ls -l payloads -rwxr-xr-x 1 ab users 47004 2009-01-03 11:59 coreinfo.elf -rwxr-xr-x 1 ab users 71440 2009-01-09 21:35 filo.elf -rwxr-xr-x 1 ab users 49298 2009-01-10 09:40 tint.elf -rwxr-xr-x 1 ab users 74334 2009-01-10 19:22 seabios.elf $ make
Now, run image in QEMU, and you can play Tetris from the BIOS (Figure 5).
Coreboot allows you to replace your motherboard's proprietary BIOS with a free and open-source BIOS. Coreboot already can boot Windows XP and Windows Vista as well as FreeBSD, Plan9 and, of course, Linux. Operating systems can be started from local disks, from a network connection or even from a serial port. Although it's not yet feature-complete, coreboot provides a base for building more flexible BIOSes.
Anton Borisov lives and works in Russia. Always fond of low-level programming, he has devoted his PhD work to the economic analysis of the advantages and ROI of custom-made firmware.
- Geek Guide: The DevOps Toolbox
- Nmap—Not Just for Evil!
- Download "The DevOps Toolbox: Tools and Technologies for Scale and Reliability"
- March 2015 Issue of Linux Journal: System Administration
- High-Availability Storage with HA-LVM
- Resurrecting the Armadillo
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- DNSMasq, the Pint-Sized Super Dæmon!
- Localhost DNS Cache
- Days Between Dates: the Counting