Forum général.général Grub2 suspend to disk et ordre de boot

Posté par  .
Étiquettes :
1
10
déc.
2009
Hello,
Je suis passé à Grub2 sur ma debian testing.
C'est tout nouveau tout beau, ca boot du ext4, etc, etc,

Par contre les fichiers de conf sont totalement différents. menu.lst a été remplacé par grub.cfg. (jusqu'ici tout va bien). Le truc, c'est qu'il est marqué qu'il ne faut pas le modifier directement.
Celui ci est généré automatiquement par update_grub2.
Il faut donc jouer avec d'autres fichiers de conf. notamment :
/etc/default/grub
/etc/grub.d/*

et la ben c'est un peu la galère. il faut trouver le fichier qui va modifier la ligne que l'on veut dans le grub.cfg.

mon soucis, je n'arrivais pas à faire un resume après un suspend to disk .
Simplement parce que l'option resume n'etait pas présente dans la ligne de boot.
Dans grub.cfg avant :
linux /vmlinuz-2.6.32 root=/dev/mapper/suze-root ro quiet
objectif obtenir :
linux /vmlinuz-2.6.32 root=/dev/mapper/suze-root ro resume=/dev/mapper/suze-swap_1 quiet
J'ai donc édité le fichier /etc/default/grub et changé :
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
par
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/mapper/suze-swap_1 quiet"
Puis grâce à update-grub2, ca met bien en place l'option désirée

Ensuite j'ai voulu changer le kernel par defaut (l'ordre de boot), toujours sans modifier grub.cfg. Et la aussi, ce n'est pas chose simple.
Dans le fichier /etc/default/grub, il faut modifier la variable GRUB_DEFAULT.
Par défaut elle est à 0. C'est à dire que c'est le premier kernel défini dans grub.cfg.
Il faut donc compter le nombre d'entrées possibles et choisir celle que l'on souhaite par défaut.
Dans mon cas l'enchainement était

2.6.32
2.6.32 recovery
2.6.30-2
2.6.30-2 recovery

Par défault je boot donc sur 2.6.32.
En ajoutant GRUB_DEFAULT=2, par défaut ca boot bien sur le 2.6.30-2.
Mais on voit bien le soucis. Si un jour, j'ajoute un kernel 2.6.33, mon option GRUB_DEFAULT=2 ne sera probablement plus correcte...

Globalement, je pense que ces manips sont plus compliquées que de modifier directement le fichier grub.cfg. Je ne trouve pas que ce soit des méthodes faciles. Y'a t'il d'autres méthodes ?
  • # l1l0

    Posté par  (Mastodon) . Évalué à 2.

    >Le truc, c'est qu'il est marqué qu'il ne faut pas le modifier directement. Celui ci est généré automatiquement par update_grub2.

    Chouette, grub2 sait booter sur de l'ext4, peut être complètement sur un volume LVM même ? Fatche, ce grub2. Et puis ensuite faut lancer une mise à jour, mais sans pouvoir taper dans le fichier directement, puis faire cette mise à jour. Grub2 c'est mieux ;)

    Lilo le faisait y 6 ans il me semble... ext4 à part bien sûr... en plus simple et plus souple

    C'est vendredi, c'est permis.

    (en tout cas merci de ton message, j'avais pas pris le temps de regarder grub2 (utilisant une distro qui le gère de manière transparente, grub ou grub2 au choix du user) et ça m'a permis de piger le début de l'usage. )
    • [^] # Re: l1l0

      Posté par  . Évalué à 3.

      C'est vendredi, c'est permis.

      pas encore, quoique en australie il est deja 1h30 du mat vendredi
    • [^] # Re: l1l0

      Posté par  . Évalué à 2.

      C'est vrai qu'en voyant l'usine à gaz qu'est GRUB, qui de surcroit s'offre le luxe d'arriver à ne pas fonctionner parfois, et qui maintenant ajoute une contrainte supplémentaire (pas touche au fichier de conf, ça serait trop facile), on peut se demander pourquoi lilo n'est pas plus répandu. 'marche bien, lilo, pose pas de questions idiotes, s'emmêle pas les pinceaux entre les partoches, et n'est pas compliqué à configurer car y'a pas besoin de le configurer :)

      THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

      • [^] # Re: l1l0

        Posté par  (site web personnel) . Évalué à 2.

        ajoute une contrainte supplémentaire (pas touche au fichier de conf, ça serait trop facile)

        Le /boot/grub/grub.cfg n'est mis à jour que si tu lances la commande "update-grub"/"update-grub2". Entre temps, tu peux très bien modifier ce fichier à la main, histoire de faire des tests, ou des bricolages sur un coin de table.

        "update-grub"/"update-grub2" servent entre autre à faire des vérifications sur les UUID des disques durs, et permettent d'écrire un fichier de configuration "grub.cfg" supposé marché correctement, sans intervention de l'utilisateur. Mais rien ne t'empêcher d'écrire ton "grub.cfg" "from scratch", comment auparavant.

        Enfin, la seule commande qui ne soit pas remplaçable est le "grub-install /dev/xxxxx", qui modifie le MBR.Mais généralement, tu n'as besoin de lancer cette commande qu'une seule fois.

        Personnellement, j'ai eu du mal à swicher de GRUB à GRUB2. Et bien que ce dernier ne soit pas parfais (il manque encore des fonctionnalités), je dois dire que je ne regrette pas plus que cela ce switch, car GRUB2 a un gros potentiel.
  • # Rajout de kernel

    Posté par  (site web personnel) . Évalué à 2.

    Mais on voit bien le soucis. Si un jour, j'ajoute un kernel 2.6.33, mon option GRUB_DEFAULT=2 ne sera probablement plus correcte...

    Dans le cas de Debian Squeeze/Testing, le rajout d'un nouveau kernel fera apparaitre ceci :

    2.6.33
    2.6.33 recovery
    2.6.32
    2.6.32 recovery
    2.6.30-2
    2.6.30-2 recovery
    Donc par défaut, tu booteras effectivement sur le 2.6.32, et non plus sur le 2.6.30-2.

    Mais en fait, sur Debian, ce comportement est exactement le même qu'avec GRUB1 : Debian affiche au démarrage la liste des kernel installés, et ne bouge pas la ligne du curseur à l'affichage du menu. C'est la liste en-dessous qui change.
    • [^] # Re: Rajout de kernel

      Posté par  . Évalué à 2.

      Mais on voit bien le soucis. Si un jour, j'ajoute un kernel 2.6.33, mon option GRUB_DEFAULT=2 ne sera probablement plus correcte...

      en meme temps si tu mets grub_default à 2, c'est que le kernel par defaut te plait pas
      dans ton cas tu prefere un 2.6.30-2

      donc tu testes avec un default=2
      puis si tu es satisfait suffit de desinstaller le kernel 2.6.32 et remettre le default sur 0

      ta distrib ne mettra plus ton kernel à jour
      et tu n'aura donc pas le 2.6.33 sauf quand tu le compileras par toi meme ;)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.