From Free Geek Seattle
Jump to: navigation, search

What's Coreboot?[edit]

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.

Why coreboot?[edit]

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[edit]

Here is an example:

What you'll need[edit]

  • 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[edit]

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

Look here:

Follow the directions.

Build coreboot image[edit]

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

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

Build payload[edit]

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

Flash image to CMOS[edit]

Use the flashrom tool to flash images to CMOS.


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

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.