News - Logiciels Libres

Ubuntu 22.04 : Rester (ou revenir) sur le kernel 5.15

| | Logiciels Libres | 5 Commentaires | 6690
Ubuntu 22.04 : Rester (ou revenir) sur le kernel 5.15
Bonjour à tous,

Ubuntu a décidé de basculer vers le noyau 6.2 pour ceux qui utilisent le kernel "HWE".
Problème, ce paquet est installé par défaut sur Ubuntu 22.04 sur certaines configuration (même celles installées à la sortie d'Ubuntu 22.04 en avril 2022).
Le kernel 5.15 LTS fourni au début d'Ubuntu 22.04 LTS n'est pas déprécié et sera supporté jusqu'en 2032.
Un noyau plus récent peut être utile pour notamment pouvoir installer Ubuntu 22.04 LTS sur des PC nouvellement sortis (drivers récents inclus).

Certains utilisateurs de cartes graphiques NVidia anciennes, avec leurs pilote propriétaire se voient face à un écran noir. D'autres reviennent sur Nouveau (pilote libre) mais ce dernier manque de performance.

Nous allons voir comment revenir sur le noyau5.15 LTS qui sera supporté jusqu'en 2032 par Ubuntu.

D'abord, on constate qu'on est sur un noyau plus récent :

Code BASH :
uname -r

Code TEXT :
6.2.0-26-generic


Si on liste les paquets linux-image avec la commande suivante :

Nom des paquets : linux-image
Code BASH :
dpkg -l linux-image*

Code :
||/ Nom                                    Version             Architecture Description
+++-======================================-===================-============-=====================================
un  linux-image                            <aucune>            <aucune>     (aucune description n'est disponible)
ii  linux-image-5.15.0-25-generic          5.15.0-25.25        amd64        Signed kernel image generic
ii  linux-image-6.2.0-26-generic           6.2.0-26.26~22.04.1 amd64        Signed kernel image generic
ii  linux-image-generic-hwe-22.04          6.2.0.26.26~22.04.7 amd64        Generic Linux kernel image
un  linux-image-unsigned-5.15.0-25-generic <aucune>            <aucune>     (aucune description n'est disponible)
un  linux-image-unsigned-6.2.0-26-generic  <aucune>            <aucune>     (aucune description n'est disponible)


On constate qu'on a le 5.15, le 6.2 et le métapaquet linux-image-generic-hwe-22.04

A cet instant (Aout 2023) ce matépaquet tire le kernel 6.2

Si on cherche les métapaquets du kernel via la commande :
Code BASH :
apt search linux-image-generic


On a les résultats suivants :
Code :
linux-image-extra-virtual/jammy-updates,jammy-security 5.15.0.78.75 amd64
  Extra drivers for Virtual Linux kernel image
linux-image-extra-virtual-hwe-22.04/jammy-updates 6.2.0.26.26~22.04.7 amd64
  Extra drivers for Virtual Linux kernel image
linux-image-extra-virtual-hwe-22.04-edge/jammy-updates 6.2.0.26.26~22.04.7 amd64
  Extra drivers for Virtual Linux kernel image
linux-image-generic/jammy-updates,jammy-security 5.15.0.78.75 amd64
  Image du noyau Linux générique
linux-image-generic-hwe-20.04/jammy-updates,jammy-security 5.15.0.78.75 amd64
  Generic Linux kernel image (dummy transitional package)
linux-image-generic-hwe-20.04-edge/jammy-updates,jammy-security 5.15.0.78.75 amd64
  Generic Linux kernel image (dummy transitional package)
linux-image-generic-hwe-22.04/jammy-updates,now 6.2.0.26.26~22.04.7 amd64  [installé, automatique]
  Image du noyau Linux générique
linux-image-generic-hwe-22.04-edge/jammy-updates 6.2.0.26.26~22.04.7 amd64
  Image du noyau Linux générique


Le linux-image-generic-hwe-22.04 correspond à l'image Linux générique utilisée par Ubuntu.
Avec la commande :
Code BASH :
apt show linux-image-generic-hwe-22.04


On voit en dépendance sur le noyau linux en version 6.2 :
Code :
Depends: linux-image-6.2.0-26-generic, linux-modules-extra-6.2.0-26-generic, linux-firmware, intel-microcode, amd64-microcode


Le linux-image-generic correspond à l'image noyau de base d'Ubuntu (5.15)
Avec la commande :
Code BASH :
apt show linux-image-generic


On voit en dépendance sur le noyau linux en version 5.15 :
Code :
Depends: linux-image-5.15.0-78-generic, linux-modules-extra-5.15.0-78-generic, linux-firmware, intel-microcode, amd64-microcode


L'astuce consiste à remplacer le métapaquet linux-image-generic-hwe-22.04 par le linux-image-generic

Code BASH :
apt install linux-image-generic


Ca installe une version plus récente de la branche 5.15 :
Code :
Les NOUVEAUX paquets suivants seront installés :
  linux-image-5.15.0-78-generic linux-image-generic linux-modules-5.15.0-78-generic linux-modules-extra-5.15.0-78-generic


Une fois installé, on reboot la machine.
Si on ne fait rien au niveau du GRUB, on démarre sur le noyau le plus récent (toujours le 6.2 à cet instant).
Au niveau du GRUB (juste après l'écran du BIOS ou de l'UEFI), presser MAJ pour faire afficher ce dernier (qui est masqué par défaut sur Ubuntu si c'est le seul système installé).
Sélectionner "Advanced Option for Ubuntu" et chercher le dernier noyau 5.15 installé.

Vérifier qu'on a bien démarré sur le kernel 5.15 :
Code BASH :
uname -r

Code :
5.15.0-78-generic


Maintenant que le métapaquet "classique" du noyau générique d'ubuntu est installé, on va supprimer celui correspondant au HWE (qui vient chercher actuellement le noyau 6.2 mais qui plus tard pourra vous proposer un 6.5 ou autre) :

Code BASH :
apt autoremove linux-image-generic-hwe-22.04


On revérifie les paquets linux-image installés avec :
Code BASH :
dpkg -l linux-image*

Code :
+++-======================================-===================-============-=====================================
un  linux-image                            <aucune>            <aucune>     (aucune description n'est disponible)
rc  linux-image-5.15.0-25-generic          5.15.0-25.25        amd64        Signed kernel image generic
ii  linux-image-5.15.0-78-generic          5.15.0-78.85        amd64        Signed kernel image generic
ii  linux-image-6.2.0-26-generic           6.2.0-26.26~22.04.1 amd64        Signed kernel image generic
ii  linux-image-generic                    5.15.0.78.75        amd64        Generic Linux kernel image
un  linux-image-unsigned-5.15.0-25-generic <aucune>            <aucune>     (aucune description n'est disponible)
un  linux-image-unsigned-5.15.0-78-generic <aucune>            <aucune>     (aucune description n'est disponible)
un  linux-image-unsigned-6.2.0-26-generic  <aucune>            <aucune>     (aucune description n'est disponible


Il reste encore les résidus du kernel 6.2 (sinon, ils sont encore en premier dans GRUB) :
Code BASH :
apt autoremove linux-*-6.2.0-*-generic


Avec cette commande, ça supprime les headers, modules, extras...

On reboot et on vérifie que c'est tout bon.