From coreboot
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

  • homepage:
  • PGP fingerprint: 7079 B481 F04B 5D8B 65A0 ECDE EA2D B82F E04A 9403
  • IRC: vimacs@freenode, mytbk@freenode
  • vimacs
  • XMPP:
  • Matrix:

I use vimacs as my nick name on some forums with a Vi-macs logo. Yeah, I use both Vim and GNU Emacs!

What I have

boards/laptops I've installed coreboot on:

  • Lenovo {X60, X201, X220, T420, T520, X230}
  • HP {2760p, 8470p, 8460p, 2570p}
  • Dell Latitude E6230 (porting in progress)
  • ASRock B75 Pro3-M
  • 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.