Revision of Update the Linux-Libre kernel from Sat, 08/02/2014 - 00:21

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

(TODO: rename this page to "Upgrade the kernel Linux-libre")

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 section probably needs revision; I, its writer, am not a native English speaker.)

(TODO: clarify the ...-lts-${release}-eol-upgrade packages' function)

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 the enablement 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 the Linux-libre versions obtainable through this method 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 not necessarily will support Ubuntu/Trisquel default configuration (e.g., AppArmor) or perfectly match the Xorg stack, but may run normally nevertheless.

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

Right now there are three different stacks. If you're unsure which one to install, choose the one from 14.04 "Trusty".

From 12.10 "Quantal"

Linux-libre version: 3.5

(Its Trisquel package comes with "belenos" in its name, even though it should refer to the Trusty-originated stack, and it being the codename of the upcoming Trisquel 7 release.)

To upgrade your Trisquel Linux-libre/Xorg stack to this one, do:

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

From 13.04 "Raring"

There is no available Trisquel Linux-libre packages from this stack, only the graphical ones (libgl*, xserver-xorg*...).

To upgrade to this stack (probably not a good idea, since there is no corresponding Linux-libre version available), do:

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

From 13.10 "Saucy"

Linux-libre version: 3.11

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

Trisquel stack from 14.04 "Trusty"

Linux-libre version: 3.13

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

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 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