Fast, secure and flexible OpenSource firmware
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.
The coreboot project 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.
- 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.
- 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.
coreboot 2020 Projects
Address Sanitizer for corebootMemory safety is hard to achieve. We, as humans, are bound to make mistakes in our code. While it may be straightforward to detect memory corruption...
libgfxinit: Add support for Bay Trail (and maybe Braswell)Currently, support for Bay Trail and Braswell hardware is missing from libgfxinit. The project idea is to add support for Bay Trail first, as it is...