Table des matières

Utiliser des noyaux récents sous Debian

Cas d'utilisation

Je souhaite faire tourner un ordi équipé d'un processeur Intel de 12è génération sous Debian 111). Le noyau de Debian 11 est 5.10 alors qu'il me faut au minimum 5.152).

Installation depuis les backports

Source : How to install and use Backports in Debian 11 Bullseye

Les dépôts backports de Debian permettent d'accéder à des composants logiciels ou des mise à jour héritées des branches les plus actives du projet Debian (testing ou experimental). Les composants disponibles dans ces dépôts bénéficient du support technique officiel de Debian, sécurité comprise.

À la date de la rédaction, le noyau 5.18 étant disponible sur ces dépôts, il est recommandé de s'y fournir. Une solution plus aggressive et plus risquée consisterai à puiser directement dans les dépôts testing ou exprimental, comme expliqué plus loin.

Les opérations qui suivent sont effectuées avec les droits de superutilisatrice.

Préparation

Mettre à jour le système :

# apt update
# apt upgrade -y

Ajout des dépôts backports

# echo "deb http://deb.debian.org/debian bullseye-backports main contrib non-free" | tee -a /etc/apt/sources.list
# echo "deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free" | tee -a /etc/apt/sources.list
# apt update
À partir d'ici, ne pas faire de mise à jour intempestive avant d'avoir achevé l'étape suivante.

Limiter l'utilisation des dépôts backports aux noyaux

Je ne souhaite pas que tout mon système soit mis à jour en version expérimentale. Je voulais juste récupérer les noyaux. Je dois donc configurer apt pour qu'il agisse ainsi :

# nano /etc/apt/preferences

et j'insère le paramétrage suivant (les headers sont indispensables si on utilise VirtualBox ou toute autre programme utilisant les fonctionnalités apportées par dkms :

Package: *
Pin: release a=bullseye
Pin-Priority: 500

Package: linux-image-amd64
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: linux-headers-amd64
Pin: release a=bullseye-backports
Pin-Priority: 1000

J'enregistre la modification, quitte l'éditeur3) et applique la configuration :

# apt update

Installation et mise à jour ultérieures des noyaux

On fait comme d'habitude :

# apt upgrade

Lors de la première exécution, cette commande déclenchera le remplacement du noyau actuel par un nouveau noyau issu de la branche backports. Le exécutions suivantes effectueront des mises à jours du noyau, s'il en existe sur les dépôts backports.

Et voilà le résultat :

# lsb_release -d
Description:    Debian GNU/Linux 11 (bullseye)
# uname -r
5.18.0-0.bpo.1-amd64
      // uname -a donnera non seulement la version du noyau mais aussi le paquetage correspondant

Et c'est tout ?

Si votre ordi fonctionne correctement, c'est que tout ce dont vous aviez besoin se trouvait dans le noyau. C'est terminé :-)

Firmwares

Mais certains matériels peuvent nécessiter l'installation de firmwares supplémentaires. S'ils se trouvent dans les dépôts backports il suffit d'adapter le fichier de configuration de apt pour qu'il prenne en compte les paquetages correspondants. À titre d'illustration, après quelques mois d'utilisation et afin d'assurer la cohérence des mises à jours, j'ai dû ajouter plusieurs exceptions à la liste minimale indiquée plus haut (voir annexes).

Installation depuis la branche expérimentale

Source : How to Install Linux Kernel 5.15 on Debian 11 Bullseye

Il s'agit d'une solution à n'utiliser que pour… exprimenter ;-) Dans tout autre cas, l'utilisation des backports est recommandée. Comme l'indique la FAQ de Debian : “Les utilisateurs ne devraient pas utiliser ces paquets parce qu'ils peuvent être dangereux et nuisible même pour les utilisateurs4) les plus expérimentés”.

Comme son nom l'indique, la branche experimental de Debian expérimente et empaquette les nouvelles versions de noyaux. Ainsi, au jour de la rédaction, le noyau 5.19 est disponible. Si l'on espère quelque chose de précis de cette version du noyau, c'est un moyen d'y accéder, toute packagée. La procédure est similaire à celle indiquée pour l'utilisation des dépôts backports.

Les opérations qui suivent sont effectuées avec les droits de superutilisatrice.

Préparation

Mettre à jour le système :

# apt update
# apt upgrade -y

Ajout des dépôts expérimentaux

# echo "deb http://deb.debian.org/debian experimental main contrib non-free" | tee -a /etc/apt/sources.list
# echo "deb-src http://deb.debian.org/debian experimental main contrib non-free" | tee -a /etc/apt/sources.list
# apt update
À partir d'ici, ne pas faire de mise à jour intempestive avant d'avoir achevé l'étape suivante.

Limiter l'utilisation des dépôts experimentaux aux noyaux

Je ne souhaite pas que tout mon système soit mis à jour en version expérimentale. Je voulais juste récupérer les noyaux. Je dois donc configurer apt pour qu'il agisse ainsi :

# nano /etc/apt/preferences

et j'insère le paramétrage suivant :

Package: *
Pin: release a=bullseye
Pin-Priority: 500

Package: linux-image-amd64
Pin: release a=experimental
Pin-Priority: 1000

J'enregistre la modification, quitte l'éditeur5) et applique la configuration :

# apt update

Installation et mise à jour ultérieures des noyaux

On fait comme d'habitude :

# apt upgrade

Lors de la première exécution, cette commande déclenchera le remplacement du noyau actuel par un nouveau noyau issu de la branche expérimentale. Le exécutions suivantes effectueront des mises à jours du noyau, s'il en existe sur les dépôts expérimentaux.

Annexes

Fichier apt/preferences

État des exceptions après quelques mois d'utilisation :

Package: linux-image-amd64
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: linux-headers-amd64
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: firmware-linux
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: firmware-linux-free
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: firmware-linux-nonfree
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: firmware-misc-nonfree
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: amd64-microcode
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: firmware-realtek
Pin: release a=bullseye-backports
Pin-Priority: 1000

Package: firmware-amd-graphics
Pin: release a=bullseye-backports
Pin-Priority: 1000
1)
Car c'est la version stable en juillet 2022.
2)
Qui dispose de pilotes permettant d'exploiter le composant graphique intégré au processeur et le composant réseau équipant la carte-mère.
3) , 5)
Ctrl+O Ctrl+X
4)
Une fois n'est pas coutume, c'est également vrai pour les utilisatrices :-D