<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
@import url('css/main.css');
</style>
<title>Documentation for libreboot project</title>
</head>
<body>
<h1 id="pagetop">Documentation for libreboot project</h1>
<p>
It is assumed that you are running <a href="https://www.gnu.org/distros/">GNU/Linux</a>
(no other operating system is known to work with this release).
</p>
<p>
<a href="#why">What is libreboot?</a>
</p>
<hr/>
<h2>Release information</h2>
<p>
Information about this release can be found at <a href="release.html">release.html</a>.
Always check <a href="http://libreboot.org">libreboot.org</a> for updates.
</p>
<p>
The release page and <a href="future/index.html">future/index.html</a> contain details
about future work.
</p>
<h2>Hardware compatibility list</h2>
<p>
Information about what systems libreboot supports.
</p>
<p>
Goto <a href="hcl/index.html">hcl/index.html</a>.
</p>
<h2>Installing libreboot</h2>
<p>
Information about how to install libreboot on supported targets,
using software and/or dedicated hardware.
</p>
<p>
Goto <a href="install/index.html">install/index.html</a>.
</p>
<h2>GNU/Linux distributions</h2>
<p>
Installing GNU/Linux distributions, preparing bootable USB drives, changing the default GRUB
menu and so on.
</p>
<p>
This also contains guides for fully encrypted Trisquel and Parabola GNU/Linux-libre installations.
</p>
<p>
Goto <a href="gnulinux/index.html">gnulinux/index.html</a>.
</p>
<h2>Developing libreboot</h2>
<p>
Information about configuring libreboot, building from source, maintaining the project,
working in git and so on.
</p>
<p>
Goto <a href="git/index.html">git/index.html</a>.
</p>
<h2>Security topics</h2>
<p>
Goto <a href="security/index.html">security/index.html</a>.
</p>
<h2>Hardware maintenance</h2>
<p>
Goto <a href="hardware/index.html">hardware/index.html</a>.
</p>
<h2>GRUB payload</h2>
<p>
Information about fonts and keyboard layouts used in GRUB.
</p>
<p>
Goto <a href="grub/index.html">grub/index.html</a>
</p>
<h2>Miscellaneous</h2>
<p>
Random topics that don't belong anywhere else.
</p>
<p>
Goto <a href="misc/index.html">misc/index.html</a>.
</p>
<hr/>
<h1 id="why">What is libreboot, really?</h1>
<p>
Libreboot is a <a href="http://coreboot.org/">coreboot</a> distribution (distro) with proprietary software removed,
intended to be a <a href="https://www.fsf.org/about/what-is-free-software">free</a>
(libre) 'BIOS' replacement for your computer.
</p>
<p>
Read the full <a href="https://www.gnu.org/philosophy/free-sw.html">Free Software definition</a>.
</p>
<h2>
Project goals (and differences versus coreboot):
</h2>
<ul>
<li>
Coreboot contains blobs (proprietary data/code) and libreboot does not (it intentionally removes them).
</li>
<li>
Coreboot is hacker-friendly and focuses on software developers, libreboot is user-focused and attempts to
turn coreboot into a distribution, sort of like a GNU/Linux distribution (same concept, different software). For example, libreboot
distributes GRUB/memtest86+/bucts/flashrom (and more) and comes with user-focused documentation and build scripts; libreboot
is therefore made more 'user-friendly'.
</li>
</ul>
<p>
Libreboot is <b>not</b> 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.
</p>
<p>
<b>
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)
receive your change at some point in the future, in a future release.
</b>
</p>
<p>
<i>Libreboot</i> as a whole is the distribution distributed deblobbed. However, the core part is coreboot:
libreboot's deblobbed coreboot tree is named <i>coreboot-libre</i> to distinguish it as a component of <i>libreboot</i>.
(if that makes sense).
</p>
<h2>
A 'stable' coreboot:
</h2>
<ul>
<li>
Coreboot uses the <a href="https://en.wikipedia.org/wiki/Rolling_release">rolling release</a> model
(and it is therefore quite volatile; one day when you build coreboot, it may or may not work correctly on your machine).
</li>
<li>
Libreboot changes less often (as far as the release model is concerned), focusing instead on 'tested' releases for <i>specific machines</i>.
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 <i>"coreboot development goes in coreboot"</i> rule), then others could benefit from it.
</li>
</ul>
<p>
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).
</p>
<p>
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.
</p>
<p><a href="#pagetop">Back to top of page.</a></p>
<hr/>
<p>
Copyright © 2014 Francis Rowe <info@gluglug.org.uk><br/>
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 <a href="license.txt">license.txt</a>.
</p>
<p>
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 <a href="license.txt">license.txt</a> for more information.
</p>
</body>
</html>