open source firmware projects

Technologies
c, assembler
Topics
hardware, firmware
open source firmware projects

coreboot provides a fast, reliable, secure, and predictable boot-firmware solution for numerous modern and legacy chipsets. There are millions of devices running coreboot, including Google Chromebooks and Chromeboxes, and it runs in many datacenters. In 2018, coreboot.org had over 200 active developers, and over 3500 commits.

coreboot believes in the principles of Open Source software. It borrows many well known concepts from other Open Source projects: Kconfig, Linux kernel coding style, git repository, and gerrit for code reviews.

coreboot has numerous advantages over other firmware projects. It comes with SoC support available to all developers. The codebase is shared with developers and companies which are helping improving the SoC and driver-specific implementations.

Extremely fast

  • coreboot is designed to do the minimum amount necessary and get out of the way.
  • Desktop and Notebooks boot up in 400ms - 2.5s.
  • Server boot time can be as low as a quarter of the OEM BIOS boot time.

Flexible and customizable

  • Because coreboot only does hardware init, then jumps to a payload to continue, it is very flexible.
  • GPLv2 licensed core. Payloads can be proprietary and we offer a BSD licensed support library. coreboot provides ready-to-build payloads like UEFI, SeaBIOS, U-Boot, Grub2 and many more..
  • Recovery Mode based on multiple copies of the firmware which can be updated independently.
  • Integrity of stages and binaries in coreboot can be easily verified.
  • Designed for security by default
  • Uses a minimal trusted computing base for each platform which is easily auditable, helping to guarantee security. As coreboot is Open Source, anyone can check the codebase.

Debugging

  • There are multiple ways to extract the boot log, from classic serial to EHCI debug, even over the pc-speaker.
  • GDB Stub support via serial.
  • In memory console log support
  • Tracing functions and other exotic features are supported.
2019 Program

Successful Projects

Contributor
Asami Doi
Mentor
rrangel, Edward O'Callaghan
Organization
coreboot
Adding QEMU/AArch64 Support to Coreboot
We already have some physical mainboards for AArch64. However, we don’t have the support of QEMU/AArch64 yet. ARM-based chips nowadays become popular...
Contributor
Jacob Garber
Mentor
dhendrix, Martin Roth, Patrick Georgi
Organization
coreboot
Making Coreboot Coverity Clean
The coreboot project is automatically scanned by Coverity, a free static-analysis tool provided by Synopsis to open source projects. This tool...
Contributor
al3xtjames
Mentor
rrangel, Martin Roth
Organization
coreboot
Ghidra Firmware Utilities
The goal of this project is to develop plugins for Ghidra to assist in firmware reverse engineering. My planned implementation of this project...