Void Linux - Basculer vers le précédent noyau LTS
La distribution Void Linux est une rolling release qui vise un maximum de stabilité dans la mesure du possible. Une installation standard utilisera le dernier noyau LTS, par exemple.
Très concrètement, voici la liste de tous les noyaux disponibles. À l'heure où j'écris ces lignes, c'est le noyau 6.12 qui est installé par défaut :
# xbps-query --regex -Rs '^linux[0-9.]+-[0-9._]+' | sort -Vrk2
[-] linux6.17-6.17.8_1 Linux kernel and modules (6.17 series)
[-] linux6.16-6.16.12_1 Linux kernel and modules (6.16 series)
[-] linux6.15-6.15.11_1 Linux kernel and modules (6.15 series)
[-] linux6.14-6.14.11_1 Linux kernel and modules (6.14 series)
[-] linux6.13-6.13.12_1 Linux kernel and modules (6.13 series)
[*] linux6.12-6.12.58_1 Linux kernel and modules (6.12 series)
[-] linux6.6-6.6.116_1 Linux kernel and modules (6.6 series)
[-] linux6.1-6.1.154_1 Linux kernel and modules (6.1 series)
[-] linux5.15-5.15.193_1 Linux kernel and modules (5.15 series)
[-] linux5.4-5.4.296_1 Linux kernel and modules (5.4 series)
Je viens de tomber sur un os avec un pilote NVidia legacy qui semble avoir des problèmes avec ce noyau.1 Or, il fonctionne parfaitement avec le précédent noyau LTS de la série 6.6.
Le passage à une lignée plus ancienne de noyaux est certes expliqué dans la documentation officielle, mais c'est un peu laconique. J'ai réussi à me dépatouiller avec l'aide précieuse du forum de Void Linux.
Mon installation fraîche d'un système minimal de Void Linux compte deux noyaux :
-
celui fourni par l'ISO
-
celui installé par la mise à jour initiale
# ls -lh /boot/vmlinuz-6.12.*
-rw-r--r-- 1 root root 14M 24 janv. 2025 /boot/vmlinuz-6.12.11_1
-rw-r--r-- 1 root root 14M 14 nov. 03:05 /boot/vmlinuz-6.12.58_1
Ici, je peux déjà faire le ménage en utilisant l'outil vkpurge fourni par la
distribution :
# vkpurge list all
6.12.11_1
# vkpurge rm all
# ls -lh /boot/vmlinuz-6.12.*
-rw-r--r-- 1 root root 14M 14 nov. 03:05 /boot/vmlinuz-6.12.58_1
Le noyau actuel est fourni par les métapaquets correspondants linux et
linux-headers. Pour installer le noyau LTS précédent, j'installe les
métapaquets linux-lts et linux-lts-headers :
Je redémarre sur ce noyau :
Je peux configurer le gestionnaire de paquets de manière à ce qu'il ignore les
deux métapaquets linux et linux-lts. Pour ce faire, je crée un fichier
/etc/xbps.d/10-linux-lts.conf comme ceci :
Partant de là, je supprime d'abord le métapaquet du noyau plus récent :
# xbps-query -l | grep linux-6.12
ii linux-6.12_1 Linux kernel meta package
# xbps-remove linux-6.12_1
Ensuite je supprime le paquet à proprement parler :
# xbps-query -l | grep linux6.12
ii linux6.12-6.12.58_1 Linux kernel and modules (6.12 series)
# xbps-remove linux6.12-6.12.58_1
Je supprime manuellement les vestiges du noyau récent dans /boot :
Je n'oublie pas de mettre à jour mon chargeur de démarrage :
# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.6.116_1
Found initrd image: /boot/initramfs-6.6.116_1.img
...
Je redémarre et je vérifie si tout va bien :
-
Fuck you, NVidia ! ↩
