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.
Webinar: 8 Signs You’re Beyond Cron
11am CDT, April 29th
- March 2015 Issue of Linux Journal: High-Performance Computing
- Not So Dynamic Updates
- Users, Permissions and Multitenant Sites
- April 2015 Video Preview
- Security in Three Ds: Detect, Decide and Deny
- New Products
- Flexible Access Control with Squid Proxy
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Non-Linux FOSS: MenuMeters