Revision of Update the Linux-Libre kernel from Wed, 08/06/2014 - 17:07

The revisions let you track differences between multiple versions of a post.

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 12.10 (Quantal), 13.04 (Raring), 13.10 (Saucy), and 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 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 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.

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}-lts-$name;
    return
}
and, after reloading ~/.bashrc ("source ~/.bashrc" or logout/login, or open new console window), run, e.g., "lts_enablement_stack trusty" to install the Trusty-originated HWE stack.

Using jxself's repository

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

Add the repository:

(TODO: show how to do it using add-apt-repository, if possible)

Manually

1. Edit the source.list file like this:

We will edit the /etc/apt/sources.list in order to include the new repository. For this example I will use gedit but you can use the editor you want. Type in the terminal:

$ gksudo gedit /etc/apt/sources.list
And add this line :
deb http://linux-libre.fsfla.org/pub/linux-libre/freesh/ freesh main
2. Download and Add the Repository Key:

Type in the terminal:

$ wget http://linux-libre.fsfla.org/pub/linux-libre/freesh/archive-key.asc
And after the download just add the key like this:
$ sudo apt-key add archive-key.asc
3. 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-get update
(aptitude could be replaced by apt-get, use the one you normally use)

Installation of the new Linux-libre Kernel:

1. Choose the kernel you want to install (if you don't know, this command will show it to you):

$ arch
CPU Architecture Package Name
x86 32-bit

linux-libre32

linux-libre32-headers

64-bit

linux-libre64

linux-libre64-headers

For this example I will choose the linux-libre64 kernel and the linux-libre64-headers (for the kernel headers, necessary for applications like Virtualbox, and for kernel development).

1. Install the selected kernel (and headers if necessary):

Now we will just use apt-get (or aptitude) to install the new Linux-Libre Kernel from the repositories. For this just type in the terminal:

$ sudo apt-get install linux-libre64 linux-libre64-headers
And just wait for the installation to finish.

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 - 19:12
aliasbody
10/23/2012 - 21:59
jbar
03/01/2013 - 09:39
oshanz
03/15/2013 - 15:00
lembas
08/13/2013 - 18:11
lloydsmart
08/19/2013 - 17:37
Magic Banana
08/02/2014 - 00:57
GustavoCM
08/06/2014 - 17:22
Legimet
03/28/2015 - 12:41
a_slacker_here
07/18/2015 - 18:13
Julius22
10/15/2015 - 12:25
pizzaiolo
08/01/2016 - 00:54
jxself
05/18/2018 - 13:13
Gnu
12/10/2018 - 17:07
Hdesmi
02/18/2021 - 11:43
Chris
04/19/2023 - 22:14
Ark74
09/22/2024 - 12:56
knife