Update the Linux-Libre kernel

This tutorial points to easy and fast ways to upgrade your Linux-Libre kernel to a newer version, that may offer libre support to more pieces of hardware than the default kernel shipped with Trisquel, and possibly increase performance.

Using Trisquel-provided LTS enablement stacks

This upgrade method is probably the best one, because the packages distributed are adapted to Trisquel (based off Ubuntu) by its developers, who also ensure the packages are GFSD-compliant.

Citing from Ubuntu wiki:

In an effort to support a wider variety of hardware on an existing LTS release [all Trisquel releases are LTS now], the 12.04.2 and newer point releases will ship with an updated kernel and X stack by default. These newer hardware enablement stacks will be comprised of the newer kernel and X stacks from 14.04 (Trusty).

As these stacks are "comprised of the newer kernel and X stacks from" STS Ubuntu releases, that appear six months apart from each other, it may happen they are not up-to-date enough for some Trisquel users; if so, we suggest them to try the FaiF jxself's Linux-libre repositories (see below, "Using jxself's repository"), which will not necessarily support Ubuntu/Trisquel default configuration (e.g., AppArmor) or perfectly match their Xorg stack, but may run normally nevertheless.

Stacks for Trisquel 8 'Flidas' (16.04 'Xenial Xerus')

Linux-libre version: 4.13

$ sudo apt install --install-recommends linux-generic-hwe-8.0 xserver-xorg-hwe-16.04

Stacks for Trisquel 7 'Belenos' (14.04 'Trusty')

From 14.10 'Utopic'

Linux-libre version: 3.16

$ sudo apt-get install --install-recommends {linux-generic,xserver-xorg,libgl1-mesa-glx,libegl1-mesa-drivers}-lts-utopic

Little bash function

Put this in ~/.bashrc :

lts_enablement_stack () 
{ 
    if [ -n "$1" ]; then
        name="$1";
    else
        echo "Sorry, no parameters given.";
        echo "Please do: \"lts_enablement_stack \$codename\".";
        return;
    fi;
    sudo apt-get install --install-recommends {linux-generic,xserver-xorg,libgl1-mesa-glx,libegl1-mesa-drivers}-lts-$name;
    return
}
and, after reloading ~/.bashrc ("source ~/.bashrc" or logout/login, or open new console window), run, e.g., "lts_enablement_stack utopic" to install the Utopic-originated HWE stack.

Stacks for Trisquel 6 'Toutatis' (12.04 'Precise')

Right now there is one supported LTS enablement stack, the one from Ubuntu 14.04 LTS Trusty or Trisquel 7.0 Belenos. The kernel and X stack that comes with Trisquel 6.0 (from 12.04 LTS) is also supported. If you installed an LTS enablement stack from 12.10, 13.04, or 13.10, you should upgrade immediately to the Trusty stack as those stacks are now unsupported.

From 14.04 'Trusty'

Linux-libre version: 3.13

$ sudo apt-get install --install-recommends {linux-generic,xserver-xorg,libgl1-mesa-glx}-lts-trusty

If you installed an older LTS enablement stack, that command might fail so take a look at this bug for a workaround.

Verifying the support status

Run the following command. Note: HWE end of life is 2017.

$ hwe-support-status --verbose
In Toutatis, with a Trusty enabled stack, the output is:
Your Hardware Enablement Stack (HWE) is supported until April 2017.

Using jxself's repository

A big thanks to jxself for his work on maintaining this repositories (More information here: https://jxself.org/linux-libre/ ).

Add the repository:

Using add-apt-repository

1. Install the package apt-transport-https $ sudo apt-get install apt-transport-https

2. Add the repository to your sources.list file.

Type in the terminal: $ sudo add-apt-repository "deb mirror://linux-libre.fsfla.org/pub/linux-libre/freesh/mirrors.txt freesh main"

3. Download and add the Repository Key:

Type in the terminal: $ wget https://jxself.org/gpg.inc

And after the download check that it's the right key: $ gpg --with-fingerprint gpg.inc

Make sure that you see: Key fingerprint = F611 A908 FFA1 65C6 9958 4ED4 9D0D B31B 545A 3198

If it matches add the key like this: $ sudo apt-key add gpg.inc

4. Update the repositories:

We need to update the repositories in order to install the new kernel, so just type this in the terminal : $ sudo apt update

Installation of the new Linux-libre Kernel:

1. Run: $ sudo apt install linux-libre

2. Updating Grub: This is the last and most important step, for the simple reason that, if you don't update the grub list, then you will not be able to see the and launch Trisquel with the new kernel installed (and that would be very sad after all those steps). For this last step just type the following in the terminal: $ sudo update-grub

Wait for it to end and just reboot your computer !

You are now running Trisquel Gnu/Linux with an awesome new Linux-Libre Kernel freshly installed.

If you have any troubles please report them:

Other

Revisions

10/23/2012 - 20:12
aliasbody
10/23/2012 - 22:59
jbar
08/02/2013 - 06:06
oshanz
08/13/2013 - 19:11
lloydsmart
08/19/2013 - 18:37
Magic Banana
08/27/2013 - 09:52
lembas
08/06/2014 - 18:22
Legimet
03/28/2015 - 13:41
a_slacker_here
05/28/2015 - 05:27
GustavoCM
07/18/2015 - 19:13
Julius22
10/15/2015 - 13:25
pizzaiolo
05/18/2018 - 14:31
Gnu
06/01/2018 - 17:02
jxself
12/10/2018 - 18:43
Hdesmi