GNU/Linux >> Tutoriels Linux >  >> Fedora

Comment apporter des modifications persistantes à GRUB2 dans Fedora

Si vous utilisez Linux, vous utilisez probablement, presque certainement, le chargeur de démarrage GRUB2. Le chargeur de démarrage vous permet de contrôler la séquence de démarrage du système, en particulier si plusieurs systèmes d'exploitation sont installés, comme Windows et Linux côte à côte, plusieurs distributions de Linux, etc. Parfois, vous devrez apporter des modifications à la configuration GRUB2, y compris des remplacements spécifiques tels que les paramètres de ligne de commande du noyau.

Si ce qui précède ne signifie rien pour vous, vous n'avez pas besoin de ce guide. Mais si c'est le cas, vous pouvez consulter mon tutoriel GRUB2 plutôt complet sur l'utilisation et la gestion du chargeur de démarrage. Sauf que ce n'est pas assez. Si vous souhaitez ajouter des paramètres de démarrage au noyau - de manière permanente -, la modification du fichier de configuration par défaut, comme je l'ai expliqué dans le guide, ne fonctionnera pas. Cela fait partie du plaisir de la fragmentation qu'est Linux. Nous avons donc besoin d'une méthode différente, et c'est pourquoi nous sommes ici.

Comment cela aurait dû (avoir été) fait

Si seulement les distributions Linux suivaient toutes une convention et faisaient tout d'une manière. Mais comme nous avons plusieurs formats de packages, plusieurs gestionnaires de packages, plusieurs environnements de bureau et plusieurs distributions, il est illogique d'avoir plusieurs chargeurs de démarrage, ou plutôt un seul mais parsemé de réglages personnalisés. Ainsi, Ubuntu et Fedora utilisent des commandes et des notations différentes pour accomplir la même chose.

Dans Ubuntu et al, vous pouvez remplacer la ligne de commande du noyau en ajoutant les chaînes nécessaires à la directive GRUB_CMDLINE_LINUX_DEFAULT dans le fichier de configuration /etc/default/grub. Par exemple, je vous ai montré comment procéder dans mon guide de contrôle de la luminosité et du ventilateur de mon écran pour mon netbook Asus eeePC. Nous avons ajouté quelques entrées au fichier, comme suit :

GRUB_CMDLINE_LINUX_DEFAULT="éclaboussure silencieuse acpi_osi=Linux"

J'avais besoin d'un ajustement similaire pour Fedora 30 lorsque je l'ai testé sur mon ancienne machine HP Pavilion, qui a une carte Nvidia, et où j'ai rencontré un vilain oups causé par un conflit entre la branche héritée des pilotes Nvidia (340.xx) et le Correctifs de spectre dans le noyau. Vous pouvez lire l'histoire complète dans la revue de distribution liée ci-dessus. En bout de ligne, j'avais besoin d'ajouter une chaîne, alors je l'ai fait, car je m'attendais à ce que GRUB2 se comporte. J'ai mis à jour le fichier de configuration du chargeur de démarrage (à la manière de Fedora, voir la section des mises à jour de mon tutoriel GRUB2), mais au prochain redémarrage, l'option a été ignorée. Il n'y avait pas de chaîne souhaitée sous cat /proc/cmdline. J'ai alors appris que Fedora faisait les choses différemment.

Grubby - outil pour apporter des modifications GRUB2 persistantes dans Fedora

Oui, vous avez besoin d'un outil appelé grubby, qui vous permet d'ajouter des chaînes à vos noyaux. Grubby est un outil de ligne de commande, et il fonctionne en spécifiant un noyau souhaité ou tous, puis en ajoutant les valeurs souhaitées. L'inconvénient de cet outil est qu'il est plus lourd à utiliser que de faire un changement de fichier de configuration, vous ne savez pas si et comment les sauvegardes sont faites au cas où vous bâcleriez quelque chose, et si vous ajoutez de nouveaux noyaux, ils n'auront pas la persistance tweak, et vous devrez l'exécuter à nouveau. Pas très élégant. Alors j'ai couru sale :

sudo grubby --update-kernel=ALL --args=KERNEL-OPTIONS-GO-HERE

Comme exemple spécifique, cela ressemblerait à quelque chose comme (remarquez les deux signes =, pas une faute de frappe) :

sudo grubby --update-kernel=ALL --args=slab_common.usercopy_fallback=Y

J'ai choisi de mettre à jour tous les noyaux, et comme argument, j'ai ajouté le tweak du noyau qui devrait arrêter le conflit entre le pilote Nvidia et le noyau. Pour voir si grubby a fait son travail, ou simplement vérifier la configuration du noyau pour une entrée de démarrage particulière, vous pouvez exécuter grubby info sur la version de noyau souhaitée.

sudo grubby --info /boot/vmlinuz-5.0.16-300.fc30.x86_64
index=0
kernel="/boot/vmlinuz-5.0.16-300.fc30.x86_64"
/>args="ro resume=UUID=a43418bb-1d1b-4d1d-81c3-37e1e5bcd3a6 rhgb quiet nouveau.modeset=0 rd.driver.blacklist=nouveau video=vesa:off slab_common.usercopy_fallback=Y"
root="UUID=cd1c9a6a-6fb5-44c2-8d68-b4a96ff7f0e9"
initrd="/boot/initramfs-5.0.16-300.fc30.x86_64.img"
title="Fedora (5.0.16- 300.fc30.x86_64) 30 (Trente)"
id="63155c29865a492b8d8b8d53dab23782-5.0.16-300.fc30.x86_64"

Au prochain démarrage, j'ai vérifié la configuration du système, et le changement était là :

cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos8)/boot/vmlinuz-5.0.16-300.fc30.x86_64 root=UUID=cd1c9a6a-6fb5-44c2-8d68-b4a96ff7f0e9 ro resume=UUID=a43418bb- 1d1b-4d1d-81c3-37e1e5bcd3a6 rhgb calme nouveau.modeset=0 rd.driver.blacklist=nouveau video=vesa:off slab_common.usercopy_fallback=Y

Conclusion

Tout ce que je peux dire, je ne suis pas du tout content de cette méthode. C'est lourd et cela va à l'encontre de ce que je pense être les conventions GRUB. S'il existe une configuration par défaut, elle doit être utilisée, et c'est un endroit unique et centralisé où vous apportez des modifications qui affectent votre système. Il n'y a vraiment aucune raison pour qu'il y ait un outil séparé, plus un qui fait des ajustements de manière opaque, et n'est pas compatible avec les versions ultérieures - de nouveaux noyaux ou une mise à jour GRUB, que se passe-t-il alors ?

Philosophie mise à part, vous avez ce pour quoi vous êtes venu. Si vous souhaitez apporter des modifications à la ligne de commande du noyau dans Fedora, pour une raison quelconque, grubby est le moyen le plus pratique d'effectuer une modification persistante à l'échelle du système. Bien sûr, vous pouvez toujours tester des options spécifiques et uniques en modifiant des entrées individuelles au démarrage, et une fois que vous êtes satisfait qu'elles fonctionnent, rendez-les permanentes. Quoi qu'il en soit, terminons ce tutoriel. Prenez soin de vous.


Fedora
  1. Comment faire dormir ou suspendre Fedora

  2. Comment installer Vagrant sur Fedora 34

  3. Comment installer OpenOffice 4.1.10 sur Fedora 34

  4. Comment installer AnyDesk sur Fedora 35 / Fedora 34

  5. Comment installer Node.js sur Fedora 35 / Fedora 34

Fedora 29 - Rendre parfait après l'installation

Comment installer le noyau Liquorix sur Fedora 35

Comment installer le noyau XanMod sur Fedora 36 Linux

Comment installer le noyau Liquorix sur Fedora 36 Linux

Comment installer Go sur Fedora 35

Comment installer les suppléments invité de VirtualBox dans Fedora