123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- <!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"><p>If you're using libreboot from git, note that only CrOS devices build at the moment. We merged a newly rewritten build system recently, and we've yet to complete re-integration of older boards into Libreboot. Use Libreboot 20160907 for the time being, unless you're involved in libreboot development</p></div>
-
- <div class="section">
- <h1 id="pagetop">Libreboot 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="https://libreboot.org/faq/">Answers to frequently asked questions about Libreboot</a>
- </p>
- </div>
-
- <div class="section">
-
- <p>
- Libreboot is compatible with GNU+Linux and several BSD systems.
- </p>
- <p>
- For GNU+Linux,
- have a look at our <a href="distros/">list of GNU+Linux distributions that we recommend</a>.
- </p>
- <p>
- For BSD, refer to <a href="https://libreboot.org/faq/#bsd">the libreboot FAQ</a>. We wish
- to merge instructions into the official libreboot documentation, if someone
- will provide it. We do have some instructions now for NetBSD, FreeBSD and OpenBSD,
- but they are still incomplete. See <a href="bsd/">bsd/</a>.
- </p>
- <h1>Installing libreboot</h1>
- <ul>
- <li><a href="hcl/">What systems can I use libreboot on?</a></li>
- <li><a href="install/">How to install libreboot</a></li>
- </ul>
- <h1>Installing operating systems</h1>
- <ul>
- <li><a href="distros/">List of recommended GNU+Linux distributions for libreboot</a></li>
- <li><a href="gnulinux/">How to install GNU+Linux on a libreboot system</a></li>
- <li><a href="bsd/">How to install BSD on a libreboot system</a></li>
- </ul>
- <h1>Information for developers</h1>
- <ul>
- <li><a href="git/">How to compile the libreboot source code</a></li>
- <li><a href="depthcharge/">Depthcharge payload</a></li>
- <li><a href="grub/">GRUB payload</a></li>
- </ul>
- <h1>Other information</h1>
- <ul>
- <li><a href="hardware/">Hardware modifications</a></li>
- <li><a href="misc/">Miscellaneous</a></li>
- </ul>
-
- </div>
- <div class="section" id="why">
- <h1>About the libreboot project</h1>
- <p>
- Libreboot is a free BIOS or UEFI replacement (<a href="https://en.wikipedia.org/wiki/Free_software">free as in freedom</a>);
- libre <em>boot firmware</em> that initializes the hardware and starts a bootloader for your operating
- system.
- It's also an open source BIOS, but open source fails to
- promote freedom; <em>please call libreboot <strong><a href="https://en.wikipedia.org/wiki/Free_software">free software</a></strong></em>.
- </p>
- <p>
- Libreboot originally began during December 2013, as a commercial effort
- by the <a href="https://minifree.org">Ministry of Freedom</a> to achieve
- RYF endorsement for a modified ThinkPad X60
- (the first system to ever be added to libreboot), which it did then achieve.
- </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://en.wikipedia.org/wiki/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.
- </p>
-
- <p>
- Libreboot has many practical advantages over proprietary boot firmware,
- such as faster boot speeds and better security. You can
- <a href="gnulinux/">install GNU+Linux with encrypted /boot/</a>,
- <a href="http://www.coreboot.org/GRUB2#signed_kernels">verify GPG signatures on your kernel</a>,
- put a kernel in the flash chip 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 <em>build/roms/helper: add version information to CBFS</em>)
- (or you have any <strong>upstream</strong> 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/>
- <strong>cat (cbfsdisk)/lbversion</strong><br/>
- This will also work on non-release images (the version string is automatically generated,
- using <em>git describe --tags HEAD</em>), built from the git repository.
- A file named <em>version</em> 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 <em>lbversion</em> 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 your distribution, run cbfstool on your ROM image (<em>libreboot.rom</em>, in this example):<br/>
- $ <strong>./cbfstool libreboot.rom extract -n lbversion -f lbversion</strong><br/>
- You will now have a file, named <em>lbversion</em>, 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 <em>commitid</em> 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/>
- <strong>lscoreboot</strong><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>
- For 20160818, note that the lbversion file was missing from CBFS on GRUB images. You can still find out
- what libreboot version you have by comparing checksums of image dumps (with the descriptor blanked out with 00s,
- and the same done to the ROMs from the release archive, if you are on a GM45 laptop).
- </p>
- <p>
- There may also be a ChangeLog file included in your release archive, so that you can
- look in there to figure out what version you have.
- </p>
- <p>
- You can also check the documentation that came with your archives, and in <em>docs/release.html</em> 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, 2016 Leah Rowe <info@minifree.org><br/>
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the Creative Commons Attribution-ShareAlike 4.0 International license
- or any later version published by Creative Commons;
-
- A copy of the license can be found at <a href="cc-by-sa-4.0.txt">cc-by-sa-4.0.txt</a>
- </p>
- <p>
- Updated versions of the license (when available) can be found at
- <a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode">https://creativecommons.org/licenses/by-sa/4.0/legalcode</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>
|