This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ header('Content-type: text/html; charset=utf-8'); ob_start(); include_once "../common/variables.php"; include_once "../common/functions.php"; ?> <?php echo gettext("Download libreboot"); ?>

, and can be found at #https.

The current stable release is quite old at this point. We're working on a new release, and welcome everyone to get involved in testing for bugs in the unstable releases which are up to date and usually updated at least once every week.

If you're more interested in libreboot development, go to the libreboot development page, which also includes links to the Git repositories. For a list of tasks remaining for the next stable release of libreboot, see #tasks. Help is appreciated!

Do you have a mirror?

Let us know! We will add it here. Instructions for how to mirror libreboot releases can be found here.

HTTPS mirrors

These mirrors are recommended, since they use TLS (https://) encryption.

HTTP mirrors

WARNING: these mirrors are non-HTTPS which means that they are unencrypted. Your traffic could be subject to interference by adversaries. Make especially sure to check the GPG signatures, assuming that you have the right key. Of course, you should do this anyway, even if using HTTPS.

FTP mirrors

WARNING: FTP is also unencrypted, like HTTP. The same risks are present.

Download libreboot (unstable/beta releases)

WARNING: there is no guarantee that these releases will work. They may even render your system unusable (brick it). Proceed with caution.

Download the unstable releases here (snapshot archives, with ROM images compiled). This is useful if you want to help with testing for bugs/regressions before release, or if you just want to run the latest version of libreboot compiled from the current git repository.

Over time, stable libreboot release cycles have become much slower, due to more boards being supported and more work being done, which means a lot more testing/fixing needs to be done before each release. Therefore, we now offer unstable releases in between stable releases. These releases are updated fairly regularly, built from the latest version of libreboot from the git repository.

Work to do for the next stable release of libreboot (#tasks):

Go to the libreboot development page, which also includes links to the Git repositories. This shows how to submit patches.

D16 and D8 doesn't boot with GRUB payload, see https://ticket.coreboot.org/issues/48 - workaround: seabios as main payload, compress grub and put that in cbfs too, configure seabios with 0s delay (no interface) and set it to boot grub from cbfs by default. Some notes, courtesy of tpearson on IRC:
create a binary file with the single byte value numeric 0 in it, then add it to CBFS as 'etc/show-boot-menu' for 0s delay.
compress grub.elf with cbfstool and have seabios load that, or grub-mkstandalone can compress the resulting GRUB image
Create a text file in CBFS called "bootorder", contents "/rom@img/grub2"
Use cbfstool to add the GRUB ELF image as a raw file with name "img/grub2"

Fix uneven backlight levels when turning brightness down on all thinkpads.

Fix broken suspend on GM45 thinkpads (regression in coreboot. Will require bisect. It works in libreboot 20150518).

Make sure that the KCMA-D8 and KGPE-D16 ports are stable. Make sure generally that all boards work properly and are stable.

Make sure that keyboard initialization works in GRUB on the X60/T60. This was an observed issue a while ago, and might still exist in upstream coreboot. (USB keyboards work)

OPTIONAL (but very desirable) work to do before the next release of libreboot, if possible:

BARELY OPTIONAL (and extremely desirable): reproducible builds.

OPTIONAL (but desirable): fix broken text-mode graphics initialization on GM45 laptops (framebuffer mode works. Lack of text-mode means that memtest86+ is not usable easily).

OPTIONAL (but desirable): fix screen compatibility issues on some GM45 thinkpads (see this page) and some T60 laptops (see this page).

OPTIONAL (but desirable): fix VRAM size on X60/T60/Macbook2,1. This is a longstanding issue. It's currently only 8MiB, but the hardware is capable of using 64MiB. See this page.

OPTIONAL (but desirable): re-write ich9gen/ich9deblob to be portable. It currently assumes endiannesses, uses bitfields, etc. It's not portable at all, but works on x86 and little-endian ARM in most cases.

DUBIOUSLY OPTIONAL (actually probably required, and very desirable): Get more RK3288 and Tegra chromebooks supported. PaulK is interested in this, and needs funding to get the hardware. PaulK's contact details can be found in the contrib page. This could take months though, so probably won't be done before the next release.

  • Convert the documentation to texinfo - partially complete. The docs have been converted using pandoc, but now require a serious cleanup. We wish to merge these into 1 documentation file (manual) in texinfo file. The texinfo manual itself is an example of how we would like to implement the new libreboot documentation. One file, but we will distribute it separated into separate pages/sections, and in other formats in addition to HTML. (info, PDF, etc). The current live documentation on the libreboot website is the old pre-conversion documentation, written in raw HTML. To encourage the transition, we are now refusing all new documentation submissions that are not in texinfo format.
    • Texinfo is the official documentation format, for all GNU software.
    • GNU Emacs has decent integration for editing Texinfo documents. See Texinfo mode. However, any text editor should be fine (the lead developer of libreboot uses Vim).
    • i18n should be implemented from the start, so that we can start maintaining versions of the documentation in non-English languages. GNU Gettext can be used for this.
  • Modify the build system, to make use of standard GNU utilities: make, autoconf and so on. The current build system is non-standard (but well documented), written mostly in BASH.Read these documents:
  • Modify the build system, to directly download the build dependencies that libreboot currently tells the user to install from their distribution package repository. (Only in Git. Release archives would have them already). Build these from source, with our own GCC (re-using coreboot's GCC, which libreboot already uses). This will make complete corresponding source provision easier, because it would be automated; this is in contrast to the present setup, where the person distributing binaries has to include the sources for build dependencies from the distribution that they happened to use for compiling those packages.
    • This will also make everything self-contained, and coreboot already has integration for cross-compiling. We can make cross compilation of utilities for non-x86 architectures much easier, without relying on quirks from the user's GNU/Linux distribution, where the only thing we need from their distribution is the necessary toolchain for building libreboot's own version of GCC, which would then take over
    • However, do not install these dependencies, only self-host them in the libreboot source archive. Also provide an option for the user to ignore libreboot's GCC and dependencies, and use what their GNU/Linux distribution provides, when building from source.