Intégration de GRUB2 dans KDM

Depuis déjà quelques temps (KDE 4.7), KDM a la possibilité de s'intégrer avec GRUB2. Ça signifie qu'il est possible via KDM de redémarrer la machine sur n'importe quelle entrée de GRUB (autre noyau, autre OS, ...) sans changer la valeur par défaut.
Il suffit, dans le menu pour éteindre le PC, de cliquer sur la petite flèche verte du bouton "Redémarrer" :


Par contre cette option bien pratique n'est pas activée par défaut sur Fedora (1). Voici la marche à suivre pour en profiter :
  • utiliser KDM ! Si GDM est utilisé, exécuter les commandes suivantes et redémarrer :
    systemctl disable gdm.service
    systemctl enable kdm.service
  • dans les options de KDM, sélectionner GRUB2 comme gestionnaire de démarrage : systemsettings > Login Screen > Shutdown > Boot Manager : choisir Grub2.
  • ajouter l'option GRUB_DEFAULT=saved dans le fichier /etc/default/grub . Comme après chaque modification de ce fichier, lancer grub2-mkconfig -o /boot/grub2/grub.cfg . Dès la fin de cette commande, la petite flèche verte va apparaître sur le bouton "Redémarrer", aussi bien dans la session utilisateur que directement dans KDM.
(1) le projet Fedora empêche que GRUB2 soit intégré par défaut dans KDM à cause de SELinux (voir ce bug).

En cas de mise à jour du noyau

Grubby (= une absurdité made in Fedora qui fait la même chose que les outils fournis par grub (grub2-mkconfig, ...) mais en mal) est buggué (notamment ce bug qui date de Fedora 16 !) et, à chaque mise à jour du noyau, casse le fichier /boot/grub2/grub.cfg de sorte que KDM ne fonctionne plus avec GRUB2.
La commande suivante, à exécuter après chaque mise à jour du noyau, résout le problème (une autre solution est de relancer grub2-mkconfig -o /boot/grub2/grub.cfg) :
sed -i "s/^set default=\\"0\\"$/set default=\\"\\${saved_entry}\\"/" /boot/grub2/grub.cfg
Cette opération est faite automatiquement si vous faites les mises à jour de Fedora avec la dernière version de checkUpdate (v. le billet Applet de notification de mises à jour).
Vus : 1624
Publié par Nicofo : 28