From coreboot
Revision as of 15:25, 30 October 2015 by IruCai (talk | contribs)
Jump to navigation Jump to search

Hi, community!

I'm a student from Peking University. I started using coreboot since 2015 spring semester.

About me

boards/laptops I've installed coreboot on:

  • Lenovo {X60, X201, X220, T420}
  • CubieBoard CubieTruck

my tools:

  • a ch341a programmer
  • CubieTruck as my EHCI debug dongle

why I use coreboot/libreboot:

  • it's free (as in freedom)
  • it's fast
  • no whitelist
  • no malware/rootkit
  • can unlock some features (e.g. IVB processor support on SNB laptops)

bugs in coreboot:

  • random boot failure
  • strange bugs on specific machines
  • bugs from upstream updates


how to build coreboot

First, you need a cross toolchain. Just make crossgcc-x64.

Then configure coreboot: make nconfig, and build it.

You can first try coreboot on qemu, then on real machines. I recommend Lenovo ThinkPad X series (X201,X220 is good), because it's easy to flash externally.

Remember to extract the IFD,ME,GbE firmware and add to the coreboot image.

Should I learn Linux before trying coreboot?

Yes. Many operating systems can run on coreboot, but Linux runs best on it. More importantly, you need to get familiar with the build system, toolchains, utilities, and it's hard to learn these without learning Linux.

why no binary packages

Someone asked me this question. I think that coreboot is so flexible that building from source is the best way to use coreboot.

You can configure these things:

  • use microcode in coreboot image or not
  • use native graphics init or use a VGA option ROM
  • payload
  • use CMOS configuration or not
  • debug options

Libreboot supplies pre-built binary packages, because it's a stable version of coreboot, and it's blob-free feature makes microcode and option ROMs impossible. There are just a few things to configure, and libreboot community use in their binary packages the configs they think good for users and developers.