From coreboot
Revision as of 03:09, 17 April 2016 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.

Contact me

I use vimacs as my nick name on some forums with a Vi-macs logo.


What I have

boards/laptops I've installed coreboot on:

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

my tools:

  • a ch341a programmer (now flashrom supports it!)
  • CubieTruck as my EHCI debug dongle
  • BeagleBone Black with lynxis's bbb_screwdriver installed

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

Lesson1 is a good place to start.

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.

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.