🌘 Introduction
Cet article traite de la récupération d'une mise à jour de Manjaro avec pilotes NVIDIA. Attention, contenu pour geek averti !
🌘 Je suis resté pris dans mon ordi !
Longue histoire courte, j'utilise principalement la distribution Manjaro XFCE (basée sur Arch Linux, mais version flexitarienne) sur mes ordinateurs personnels.
Pas plus tard que la semaine dernière, l'équipe de Manjaro a publié une nouvelle version "stable". Celle-ci inclus des mises à jour de noyaux Linux. Elle déleste aussi certains pilotes NVIDIA qui sont périmés et difficiles à maintenir.
Cependant, cette mise à jour forçait aussi l'installation de nouvelles versions du noyau. En même temps, il y a eu recompilation des fichiers des pilotes. Cette recette mène, presque à coup sûr, à une catastrophe au prochain redémarrage.
Blague sur Arch Linux
Bref, je ne suis plus capable de me rendre à une fenêtre de connexion graphique ni à un terminal. Même en mode texte, aucun raccourci Ctrl-Alt-Fx ne fonctionne. Je dois donc réparer ça de l'extérieur.
N'ayant pas de clé USB de secours sous la main non plus, ça va mal ! Je prends la clé depuis laquelle j'ai installé Manjaro XFCE et je démarre une session "Live".
Donc, voici comment dépanner un Manjaro linux avec des pilotes NVIDIA qui ne démarre plus à cause d'une vilaine mise à jour trop ambitieuse.
🌘 Le démarrage de Manjaro en chroot
Nous devons ouvrir une session chroot sur Manjaro et le disque principal est crypté. Voici comment faire.
Nous utiliserons la technique du changement de racine, appelée chroot. Une fois dans la session live, il faut exécuter ces lignes.
Note: En tant qu'être doué de conscience, ne faites jamais de copier-coller de blocs de code sans lecture préalable, vous pouvez faire plus que de mal que de bien.
Une ligne à la fois, et on prend le temps de lire et comprendre.
# Se connecter en root sudo su -
# Créer un répertoire de secours a la racine, par exemple: /rescue mkdir /rescue
# Mettre le nom du disque qui contient le système crypté, ex: /dev/nvme0n1p2 udisksctl unlock -b /dev/nvme0n1p2
# La fonction va retourner le nouvel emplacement du disque décrypté, par exemple: /dev/dm-0.
# Monter le disque décrypté dans le répertoire de secours sudo mount /dev/dm-0 /rescue
# Joindre le répertoire mount -o bind /rescue /rescue
# Installer l outil arch-chroot pacman -Sy arch-install-scripts
# Aller en chroot arch-chroot /rescue
# Nous sommes maintenant sur le système installe en chroot, exécuter les commandes de dépannage sur place
🌘 Dépanner Manjaro et corriger les pilotes NVIDIA
Une fois dans la session chroot, exécuter ces lignes
# Supprimer le méta paquet linux-latest pacman -R linux-latest
# Supprimer cette dépendance à Virtualbox qu'on pourra réinstaller plus tard pacman -R virtualbox-guest-utils
# Supprimer le nouveau kernel que nous n'étions pas prêt à accueillit pacman -R linux510
# Exécuter cette incantation qui corrige les headers des noyaux requis pour compiler les pilotes NVIDIA sudo pacman -S $(mhwd-kernel -li | grep '*' | cut -d ' ' -f5 | awk '{print $0,"-headers"}' | sed s'/ //'g)
# Corriger les pilotes NVIDIA sudo mhwd -a pci nonfree 0300
# Sortir du chroot exit
Pour apprendre à utiliser la ligne de commande comme un pro sur ton système, tu dois t'inscrire à ma newsletter mensuelle !