List of recommended GNU+Linux distributions for libreboot

Any distribution should work, so long as it uses kernel mode setting for graphics. We recommend using distributions that are entirely free software; most distros out there have proprietary software in them, but the ones that we recommend do not have proprietary software by default.

Note: we are not the Free Software Foundation. The recommendations here consist of both FSF-endorsed and non-FSF-endorsed distros. Some of these distrubions wrongly call the whole system Linux. Despite libreboot's stance against the GNU project, we still agree with the free software philosophy and we still want you to call the whole system GNU+Linux, since this is the technically correct name for the system.

FSF-endorsed distros

Many FSF-endorsed GNU+Linux distributions are considered unfit for general use by the libreboot project. You can read about their problems here:
Why we can't endorse many FSF-endorsed distributions.

How to install GNU+Linux on a libreboot system

Back to main index

Debian

Most of the developers use it (Leah Rowe always uses testing releases of Debian). We recommend Debian stable releases for most users. If you want to do development, e.g. libreboot development, then you should use the testing release of Debian.

Debian by default comes without non-free software in the default installation or repos. There is a non-free repo that's not added by default. Just avoid adding this, and you should have a fully free system.

Visit the Debian website

We recommend using the MATE desktop.

Devuan

Devuan is a fork of Debian that does not use the controversial systemd init system.

See: https://www.devuan.org/os/init-freedom/.

Visit the Devuan website

We recommend using the MATE desktop.

Dragora

Fully free distribution, with a focus on simple package management and configuration. Experienced users might like this distro. It also has native support for multiple languages.

Visit the Dragora website

Parabola

Fully free bleeding edge distribution, based on the Arch distribution. Good for saavy users and developers in general (some libreboot developers use this).

Arch users, refer to the Parabola migration guide.

Visit the Parabola website

We recommend using the MATE desktop.

Freed-ora

Freed-ora is a 100% free software distribution, based on Fedora, which replaces Linux with Linux-libre and FireFox with IceCat.

Fedora comes with a standard Linux kernel by default, which contains binary blobs (device firmware). If you delete Linux, and install linux-libre, it can be turned into a fully free system. Fedora, like Debian, is one of the more well-known distros, and it has been around for a long time, so it has a very large community around it.

Fedora updates regularly, with the latest upstream packages available from the repositories. We had difficulty booting Fedora, but the installer works. If you manage to get Fedora working, let us know!

Freed-ora also regularly updates on top of Fedora, so it should be up to date.

Visit the Freed-ora website - This blog post shows how to install Freed-ora 25: https://marcus.nohost.me/blog/2016/11/28/freed-ora-25-released/

Gentoo

Gentoo is a bleeding edge source based distribution. It provides only source code in its repositories, and the portage package manager automatically compiles the source code for you along with all dependencies, when installing packages. This makes the distribution extremely configurable. It's common in Gentoo to see 10, 20 or even 30 versions of the same package, with different patches, and you can mix and match.

Gentoo has a page about libreboot (WARNING: not guaranteed to be up to date with changes from libreboot or Gentoo itself):
https://wiki.gentoo.org/wiki/Installation_on_libreboot

Gentoo provides non-free software by default, but you can configure the package manager when installing it, so that it doesn't let you install non-free software. This way, you will end up with a completely free system.

Modify your /etc/portage/make.conf with the relevant license groups. See: https://wiki.gentoo.org/wiki/License_Groups#Metasets - and https://wiki.gentoo.org/wiki//etc/portage/make.conf#ACCEPT_LICENSE - configure the ACCEPT_LICENSE string accordingly. if you plan using overlays it is also recommended that apart from the FREE metaset, you also add GPL to the variable ACCEPT_LICENSE as in some overlays there are packages that define that they are using the GPL license but not what version of the GPL They are using.

You also need to deblob your kernel: For that you need to add the deblob useflag in the USE variable at /etc/portage/make.conf see https://wiki.gentoo.org/wiki/Installation_on_libreboot#Let_portage_remove_the_blobs , so that when you install the source code of the kernel it is emerged without the blobs, however this will only work if your objective is to install the hardened-sources, ck-sources, or the rt-sources kernel, so if you plan to install any other kernel such as gentoo-sources (the recommended kernel by the Gentoo Project) or any other kernel listed at https://wiki.gentoo.org/wiki/Kernel/Overview you have two options:

  1. Creating a local overlay (repository) with a modified copy of your desired kernel’s ebuild so that the deblob useflag does work in it (This may not work if you use the kernel git-sources, as of git-sources unstable, inconsistent, bleeding-edge nature it may work at some point and in other not, also pf-sources won’t work with this method as its versioning classification does conflict with Gentoo’s internal script for controlling the deblobbing proccess, however if you want to mess with the script it is located inside the file at /usr/portage/eclass/kernel-2.eclass). For this first create a local overlay following the steps defined at https://wiki.gentoo.org/wiki/Overlay/Local_overlay , next create the directory of your kernel at /usr/local/portage/sys-kernel/your-kernel-dir, after that copy the ebuild of your desired kernel from /usr/portage/sys-kernel/your-kernel-dir/your-kernel.ebuild to usr/local/portage/sys-kernel/your-kernel-dir/your-kernel.ebuild, then open it in an editor and add a line with K_DEBLOB_AVAILABLE=”1” between the variable EAPI and the line inherit kernel-2, and finally run with root permissions the command ebuild /usr/local/portage/sys-kernel/your-kernel-dir/your-kernel.ebuild manifest ; after that if you had already added deblob to your useflags you can continue with the kernel installation as you normally would.

  2. Adding an exception to the licences that are accepted for your desired kernel so that portage allows installing the source code of your desired kernel even if it has blobs, and after that applying the linux-libre deblob scripts by yourself and by doing so removing the blobs. For this first create a file in /etc/portage/package.license with the following content sys-kernel/your-kernel-sources freedist , next emerge (install) the source code of your kernel with portage, after that go to /usr/src/linux and download the proper deblob-check and deblob-version scripts for your kernel version from http://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/, then make them executable, and finally set the EPYTHON variable to python2.7 and execute with root permissions the script deblob-version ; after that continue with the kernel installation as you normally would.

It is also possible to install the linux-libre sources following the instructions at https://wiki.gentoo.org/wiki/Installation_on_libreboot#Use_linux-libre_sources however this is not recommended as portage would not be able to manage it.

Visit the Gentoo website

Back to top of page

Copyright © 2016 Leah Rowe <info@minifree.org>
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 ../cc-by-sa-4.0.txt

Updated versions of the license (when available) can be found at https://creativecommons.org/licenses/by-sa/4.0/legalcode

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.

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.

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.