Linux, as distributed by Linus Torvalds et al, contains non-Free Software, i.e., software that does not respect your essential freedoms, and it induces you to install additional non-Free Software that it doesn't contain.

GNU Linux-libre is a project to maintain and publish 100% Free versions of Linux, removing the offending portions.

Freesh

Freesh is a sub-project that contains .debs of Linux-libre compiled for general purpose use on 64-bit ARM, 32-bit ARMv7 with hardware FPU, 32- and 64-bit x86, 64-bit RISC-V, the Motorola 68000 series (68020 or later; an MMU is required), OpenRISC 1000, OpenSPARC, IBM Z and LinuxONE mainframes, as well as 32- and 64-bit Power Architecture processors.

Please write to the mailing list or visit #gnu-linux-libre on irc.libera.​chat if you need support for additional CPU architectures.

If you need a realtime kernel see the libeRTy APT repository.

How To Use

To use Freesh first check for a compatible architecture:

dpkg --print-architecture 

You should see one of the following:

amd64
arm64
armhf
i386
m68k
or1k
powerpc
ppc64
ppc64el
riscv64
s390x
sparc64

Only if you see i386, determine if your i386 CPU supports PAE (which is good to know for the chart below) run this command. If your architecture is not listed as i386 then skip this step:

grep --color=always -i PAE /proc/cpuinfo 

If pae is highlighted in the output then your system supports PAE. Otherwise it does not.

If you have a compatible architecture add this repository to your system. Run this command:

sudo apt edit-sources 

Add the line:

deb mirror://linux-libre.fsfla.org/pub/linux-libre/freesh/mirrors.txt freesh main 

Your package manager will select an appropriate mirror. You can also access the mirrors.txt file directly and instead put the the address of a specific mirror in place of mirror:// but please use the automatic method shown above if possible.

Newer versions of APT have disabled FTP access by default, which is used by some of the mirrors. Re-enable it:

echo 'Dir::Bin::Methods::ftp "ftp";' | sudo tee -a /etc/apt/apt.conf.d/99local-ftp 

Either way, once your sources.list file is updated you should also fetch and install the GPG key with which the repository is signed:

wget -O - https://jxself.org/gpg.asc | sudo apt-key add -

You can also check that that it's the right key:

apt-key finger

Make sure that you see the fingerprint:

F611 A908 FFA1 65C6 9958 4ED4 9D0D B31B 545A 3198

Now you will now be able to update your package manager and install Linux-libre:

sudo apt update

The exact command to run next depends on how you want things to work. Please review all of the information that follows on this page.

Short-term or long-term support?

  • Short-term support (STS) versions provides all of the latest changes and features but are only supported for about 2-3 months so you're upgrading to new a new stable version more often.
  • Long-term support (LTS) versions are suported for at least 2 years but won't necessarily have the latest stuff. If you want to use Linux-libre and prefer a kernel that isn't changing as much, the long-term versions are probably what you want.

Currently supported and upcoming kernel versions to know about:

Version Status Released Projected End-of-life
5.14 Future version, expected in August.
5.13 Latest released version. June 2021 August 2021
5.10 Current long-term support (LTS) version. December 2020 December 2026
5.4 Previous long-term support (LTS) version, but still supported. November 2019 December 2025
4.19 Previous long-term-support (LTS) version, but still supported. October 2018 December 2024
4.14 Previous long-term support (LTS) version, but still supported. November 2017 January 2024
4.9 Previous long-term support (LTS) version, but still supported. December 2016 January 2023
4.4 Previous long-term support (LTS) version, but still supported. January 2016 January 2022

Please keep in mind that a new long-term support version is selected once each year. It is usually the last one of the year.

Please continue reading to find the use case that most closely describes what you want.

Use Case Command
"I always want the latest version of Linux-libre. No matter what." sudo apt install linux-libre
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-nonpae
"I want the latest version of Linux-libre, but when 5.14 comes out as the next major new release I want to wait a bit before upgrading so that any problems can get sorted out. I'll decide when I'm ready to upgrade to 5.14, but I still want to get updates for 5.13 while I'm waiting." sudo apt install linux-libre-5.13
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-5.13-nonpae
"I always want to be using the current long-term support (LTS) version of Linux-libre. No matter what." sudo apt install linux-libre-lts
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-lts-nonpae
"I want to use the current long-term support (LTS) version of Linux-libre but when the next one comes out I don't want to upgrade to it. I want to stay with the current LTS (5.10) until I decide otherwise." sudo apt install linux-libre-5.10
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-5.10-nonpae
"I know that 5.10 is the current long-term support (LTS) version but I want to continue using the previous LTS version (5.4) until I decide otherwise." sudo apt install linux-libre-5.4
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-5.4-nonpae
"I know that 5.10 is the current long-term support (LTS) version but I want to continue using the previous LTS version (4.19) until I decide otherwise." sudo apt install linux-libre-4.19
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-4.19-nonpae
"I know that 5.10 is the current long-term support (LTS) version but I want to continue using the previous LTS version (4.14) until I decide otherwise." sudo apt install linux-libre-4.14
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-4.14-nonpae
"I know that 5.10 is the current long-term support (LTS) version but I want to continue using the 4.9 LTS version until I decide otherwise." sudo apt install linux-libre-4.9
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-4.9-nonpae
"I know that 5.10 is the current long-term support (LTS) version but I want to continue using the 4.4 LTS version until I decide otherwise." sudo apt install linux-libre-4.4
Same as above, but I either have an older computer that doesn't support PAE (see the earlier note about PAE.) sudo apt install linux-libre-4.4-nonpae

Have questions? Need help? Please write to the mailing list or visit #gnu-linux-libre on irc.libera.​chat.

Sources

Linux-libre is free software, licensed under the terms of the GNU General Public License version 2, as published by the Free Software Foundation. You should read the license so that you know your rights to run, study, and modify the software, as well as your obligations should you redistribute the software to others.

You may download the tarball containing the complete and corresponding source code, kernel configuration files, and the instructions to compile and install the kernel from https://linux-libre.fsfla.org/pub/linux-libre/freesh/

Be Free!

Page text is copyright © 2011 - 2021 Jason Self. You can redistribute and/or modify this text under terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please copy and share.