# Libreboot project documentation

Information about this release can be found at release.html. Always check libreboot.org for updates.

What is libreboot?

# Table of contents

- Hardware compatibility list - GNU/Linux is expected to be running on your device.
- How to install libreboot
- How to install GNU/Linux on a libreboot system
- How to use the git repository and build libreboot from source
- Hardware security
- Hardware maintenance
- GRUB payload
- Planned work
- Miscellaneous

# About the libreboot project

Libreboot is a coreboot distribution (distro) with proprietary software removed, intended to be a free (libre) 'BIOS' replacement for your computer. The project is aimed at users, attempting to make coreboot as easy to use as possible.

Read the full Free Software definition.

## The libreboot project has three main goals:

- Recommend and distribute only free software. The coreboot project distributes proprietary code/blobs on some computers; this can include things like CPU microcode updates, memory initialization code and so on. The project also actively recommends that the user install additional blobs in some cases (such as the video BIOS or Intel ME). While this can be necessary from the coreboot project's point of view, Libreboot is an attempt to support as many computers from coreboot as possible, without distributing any blobs and without having the user install additional proprietary software. This is not to say that the coreboot project is bad; a lot of extremely dedicated and talented individuals in coreboot work night and day to reverse engineer and free those blobs that still remain in coreboot. Any system from coreboot that can run without blobs is a viable libreboot candidate!
- Support as much hardware as possible! This goes without saying. The list of officially supported hardware in libreboot is smaller than in upstream (coreboot), because some boards in coreboot require proprietary software which libreboot does not and will not distribute. The main goal of the libreboot project is to spread free software at a low-level (the boot firmware) to as many people as possible, so of course that means supporting as much hardware as possible (but without compromising on the main goal).
- Make coreboot easy to use. The main problem that many users have with coreboot is that it is extremely difficult to understand, learn about, install and use. This is understandable; coreboot is a low-level piece of software and has many talented individuals working on it, but the project's resources are limited and so the developers focus their efforts on the code. Coreboot offers wonderful support for other coreboot developers and those who wish to climb up that steep curve to learn everything that they can.
  At the same time, those who simply want to use coreboot (for any number of reasons) are often left feeling intimidated and many of them give up in frustration. Libreboot attempts to bridge this gap; its documentation is entirely focussed on users, with detailed steps showing exactly how to install and use it and the issues that they may come across (and how to work around them).
  Almost everything in libreboot is completely automated, with scripts for downloading, building and installing the various components used in libreboot. Pre-compiled ROM images built from the libreboot source code are provided, along with the utilities (statically compiled, from libreboot sources) that the user will need for installing them.
  Libreboot is similar in concept to a GNU/Linux or GNU/Linux-libre distribution; it is composed of not just coreboot (deblobbed), but everything else that the user will need, such as GRUB and flashrom. These are all fully integrated, in a way where most of the detailed steps otherwise required of the user (if they used coreboot, the upstream provider) are completely eliminated.
  In much the same way that you can simply download an ISO image for your favourite GNU/Linux-libre distribution, and install it, you can download pre-compiled libreboot ROM images (built from the sources) along with installation scripts and documentation that make libreboot as easy to use as possible.

Libreboot is not a fork of coreboot, despite misconceptions of this fact. Libreboot (downstream supplier) is a parallel effort which works closely with and re-bases on the latest coreboot (upstream supplier) every so often.

As such, all new coreboot development should be done in coreboot, not libreboot! Libreboot is about deblobbing, and packaging coreboot in a user-friendly way, where most work is already done for the user! If, for example you wanted to attempt porting a new motherboard then you should do that in coreboot. Libreboot will (as a downstream supplier) receive your change at some point in the future, in a future release.

Libreboot as a whole is the distribution consisting of everything surrounding coreboot. However, the main component is coreboot; libreboot's deblobbed coreboot tree is sometimes referred to as coreboot-libre to distinguish it as a component of libreboot.

## Libreboot is a 'stable' coreboot

- Coreboot uses the rolling release model, which is quite volatile; one day when you build coreboot, it may or may not work correctly on your machine.
- Libreboot changes less often (as far as the release model is concerned), focusing instead on 'tested' releases for specific machines. At any given time, it might also be possible to build ROM images for systems other than those officially supported. If you get your board to work (without violating the "coreboot development goes in coreboot" rule), then others could benefit from it.

On the other hand, coreboot is also strict about what it accepts (merges) into the main git repository: most of the time, a lot of changes are under review at review.coreboot.org (as a way of encouraging as much further development as possible before accepting the patch).

Meanwhile, libreboot is a lot less strict in this area and freely merges specific patches that are desirable, sometimes before they are merged into coreboot's main repository.

Back to top of page.

Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. A copy of the license can be found at license.txt.

This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See license.txt for more information.