123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- <!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>Libreboot project documentation</title>
- </head>
- <body>
-
- <div class="section">
- <h1 id="pagetop">Libreboot project documentation</h1>
- <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>
- <a href="#why">What is libreboot?</a>
- </p>
- <p>
- <a href="#version">How do I know what version I'm running?</a>
- </p>
- </div>
-
- <div class="section">
-
- <h1>Table of contents</h1>
- <ul>
- <li><a href="hcl/index.html">Hardware compatibility list</a> - <a href="https://www.gnu.org/distros/">GNU/Linux</a> is expected to be running on your device.</li>
- <li><a href="install/index.html">How to install libreboot</a></li>
- <li><a href="gnulinux/index.html">How to install GNU/Linux on a libreboot system</a></li>
- <li>
- <a href="git/index.html">How to use the git repository and build libreboot from source</a>
- <ul>
- <li><a href="maintain/index.html">Maintaining libreboot</a></li>
- </ul>
- </li>
- <li><a href="security/index.html">Hardware security</a></li>
- <li><a href="hardware/index.html">Hardware maintenance</a></li>
- <li><a href="grub/index.html">GRUB payload</a></li>
- <li><a href="misc/index.html">Miscellaneous</a></li>
- </ul>
-
- </div>
- <div class="section" id="why">
- <h1>About the libreboot project</h1>
- <p>
- Libreboot originally began during December 2013, as a commercial effort
- by <a href="http://gluglug.org.uk/">Gluglug</a> to achieve
- <a href="https://www.fsf.org/resources/hw/endorsement/respects-your-freedom">RYF</a> endorsement for a modified ThinkPad X60
- (the first system to ever be added to libreboot).
- </p>
- <p>
- Back then, the name <i>libreboot</i> didn't exist; the project was nameless,
- referring to itself as a <i>deblobbed version of coreboot</i>. The project named
- itself libreboot at some point during early 2014, and has since rapidly expanded
- to support more hardware and become more user-friendly.
- </p>
- <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. The project is aimed at users, attempting to make
- coreboot as easy to use as possible.
- Read the full <a href="https://www.gnu.org/philosophy/free-sw.html">Free Software definition</a>.
- </p>
-
- <p>
- Libreboot has many practical advantages over <a href="https://gnu.org/philosophy/proprietary/">proprietary</a> boot firmware,
- such as faster boot speeds and better security. You can
- <a href="gnulinux/index.html">install GNU/Linux with encrypted /boot/</a>,
- <a href="http://www.coreboot.org/GRUB2#signed_kernels">verify GPG signatures on your kernel</a>,
- run a <a href="http://proteanos.com/">full operating system</a> directly
- from the flash chip (planned for a future release), and more.
- </p>
- <h2>
- The libreboot project has three main goals:
- </h2>
- <ul>
- <li>
- <i><u><b>Recommend and distribute only free software</b></u></i>.
- Coreboot distributes certain pieces of proprietary software which is needed on some systems.
- Examples can include things like CPU microcode updates, memory initialization blobs and so on.
- The coreboot project sometimes recommends adding more blobs which it does not distribute, such
- as the Video BIOS or Intel's <i>Management Engine</i>. However, a lot of dedicated and talented
- individuals in coreboot work hard to replace these blobs whenever possible.
- </li>
- <li>
- <i><u><b>Support as much hardware as possible!</b></u></i>
- Libreboot supports less hardware than coreboot, because most systems from coreboot still require
- certain proprietary software to work properly. Libreboot is an attempt to support as much
- hardware as possible, without any proprietary software.
- </li>
- <li>
- <i><u><b>Make coreboot easy to use</b></u></i>.
- Coreboot is notoriously difficult to install, due to an overall lack of user-focussed
- documentation and support. Most people will simply give up before attempting to install coreboot.<br/><br/>
-
- Libreboot attempts to bridge this divide, making sure that everything from building
- to installing coreboot is automated, as much as is feasibly possible. Secondly, the project
- produces documentation aimed at non-technical users. Thirdly, the project attempts
- to provide excellent user support via mailing lists and IRC.<br/><br/>
-
- Libreboot already comes with a payload (GRUB), flashrom and other needed parts. Everything
- is fully integrated, in a way where most of the complicated steps that are otherwise required,
- are instead done for the user in advance.<br/><br/>
-
- You can download ROM images for your libreboot system and install them, without having
- to build anything from source. The build system is also fully automated, so building
- from source is easy if you wanted to do that (for whatever reason).
- </li>
- </ul>
- <h2>
- Libreboot is a coreboot distribution, not a coreboot fork
- </h2>
- <p>
- Libreboot is not a fork of coreboot. Every so often, the project re-bases on the latest
- version of coreboot, with the number of custom patches in use minimized.
- </p>
- <p>
- All new coreboot development should be done in coreboot (upstream), not libreboot!
- Libreboot is about deblobbing and packaging coreboot in a user-friendly way, where most work
- is already done for the user.
- </p>
-
- <p>
- For example, if you wanted to add a new board to libreboot, you should add it to coreboot first.
- Libreboot will automatically receive your code at a later date, when it updates itself.
- </p>
-
- <p>
- The deblobbed coreboot tree used in libreboot is referred to as <i>coreboot-libre</i>,
- to distinguish it as a component of <i>libreboot</i>.
- </p>
- <h2>
- Libreboot is a 'stable' version of coreboot
- </h2>
- <ul>
- <li>
- Coreboot uses the <a href="https://en.wikipedia.org/wiki/Rolling_release">rolling release</a> model,
- which means that it is not guaranteed to be stable, or to even work at all on a given day.
- Coreboot does have a strict code review process, but being such a large project with so many contributors, regressions
- are always possible.
- </li>
- <li>
- Libreboot freezes on a particular revision of coreboot, making sure that everything works properly,
- making fixes on top of that and repeating this during each subsequent update to a later version
- of coreboot. By doing this, it provides a stronger guarantee to the user that the firmware
- will be reliable, and not break their system.
- </li>
- </ul>
- <p><a href="#pagetop">Back to top of page.</a></p>
- </div>
- <div class="section" id="version">
- <h1>How do I know what version I'm running?</h1>
- <p>
- If you are at least 127 commits after release 20150518
- (commit message <i>build/roms/helper: add version information to CBFS</i>)
- (or you have any <b>upstream</b> stable release of libreboot after 20150518), then you can
- press C at the GRUB console, and use this command to find out what version of libreboot you have:<br/>
- <b>cat (cbfsdisk)/lbversion</b><br/>
- This will also work on non-release images (the version string is automatically generated,
- using <i>git describe --tags HEAD</i>), built from the git repository.
- A file named <i>version</i> will also be included in the archives that you downloaded (if you are
- using release archives).
- </p>
- <p>
- If it exists, you can also extract this <i>lbversion</i> file by using the <i>cbfstool</i> utility
- which libreboot includes, from a ROM image that you either dumped or haven't flashed yet.
- In GNU/Linux, run cbfstool on your ROM image (<i>libreboot.rom</i>, in this example):<br/>
- $ <b>./cbfstool libreboot.rom extract -n lbversion -f lbversion</b><br/>
- You will now have a file, named <i>lbversion</i>, which you can read in whatever program
- it is that you use for reading/writing text files.
- </p>
- <p>
- For git, it's easy. Just check the git log.
- </p>
- <p>
- For releases on or below 20150518, or snapshots generated from the git repository below 127 commits
- after 20150518, you can find a file named <i>commitid</i> inside the archives. If you are using
- pre-built ROM images from the libreboot project, you can press C in GRUB for access to the terminal,
- and then run this command:<br/>
- <b>lscoreboot</b><br/>
- You may find a date in here, detailing when that ROM image was built. For pre-built images distributed
- by the libreboot project, this is a rough approximation of what version you have, because the version
- numbers are dated, and the release archives are typically built on the same day as the release; you can
- correlate that with the release information in <a href="release.html">release.html</a>.
- </p>
- <p>
- You can also check the documentation that came with your archives, and in <i>docs/release.html</i> will be
- the information about the version of libreboot that you are using.
- </p>
- <p>
- Generally speaking, it is advisable to use the latest version of libreboot.
- </p>
- </div>
- <div class="section">
- <p>
- Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk><br/>
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license can be found at <a href="gfdl-1.3.txt">gfdl-1.3.txt</a>
- </p>
- <p>
- Updated versions of the license (when available) can be found at
- <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
- </p>
- <p>
- UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
- EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
- AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
- ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
- IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
- WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
- PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
- ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
- KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
- ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
- </p>
- <p>
- TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
- TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
- NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
- INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
- COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
- USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
- DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
- IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
- </p>
- <p>
- The disclaimer of warranties and limitation of liability provided
- above shall be interpreted in a manner that, to the extent
- possible, most closely approximates an absolute disclaimer and
- waiver of all liability.
- </p>
-
- </div>
- </body>
- </html>
|