Coreboot

=What's Coreboot?=

coreboot is an alternate firmware image for PC BIOS. It is tiny and only loads a "payload", usually a linux kernel or SEABIOS or such. http://www.coreboot.org/Welcome_to_coreboot

http://www.seabios.org/SeaBIOS

=Why coreboot?= Because EFI. We can't grant or adopt hardware that contains locked non-free firmware. Regular BIOS are bad enough!

Regular BIOS are nasty binary blobs already. EFI potentially can prevent us from installing Free software on the machine, by restricting installs to Windows or whatever OS has a key it is configured to recognize.

=How to coreboot=

Here is an example:

http://www.settoplinux.org/index.php?title=RCA_RM4100:Howto_coreboot_and_Linux

What you'll need

 * Target system
 * Source system for remote install (optional)
 * Linux live for target system, needs flashrom (for local install) or sshd (for remote)
 * Serial null-modem cable or network cable (for remote)

Get hardware info
Coreboot needs to know what kind of flash memory you have and what kind of writer (programmer) is available.

Look here: http://www.coreboot.org/Support

Follow the directions.

Build coreboot image
No one knows how to do this. The developers didn't bother to document it. Too bad!

Somewhere prebuilt images are available. Where? Who knows? They didn't document that either.

Source is gittable here:

$ git clone http://review.coreboot.org/p/coreboot

Maybe there is some documentation in the tree. Want to bet?

Build payload
See docs in source code, if any, and if you can actually get it.

Flash image to CMOS
Use the flashrom tool to flash images to CMOS.

READ THE FLASHROM MANPAGE BEFORE YOU START

flashrom needs sudo

sudo flashrom -p internal

flashrom without parameters probes the local hardware. Use the -p option to specify a programmer.

Output on warthog: flashrom v0.9.6.1-r1563 on Linux 3.2.0-4-amd64 (x86_64) flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK. Found chipset "AMD Hudson". Enabling flash write... OK. Found Winbond flash chip "W25Q32" (4096 kB, SPI) at physical address 0xffc00000. No operations were specified.