Les recettes de cuisine sur Grub

Préambule: tout ce qui va suivre suppose qu'on a une distribution Linux correctement installée.

Parler correctement : Grub ou GNU/Grub ?

A travers les différentes informations disponibles sur les ouèbes, deux appellations reviennent souvent : Grub ou GNU/Grub. Ceci recoupe parfois deux programmes différents, parfois c'est le même. A l'origine, Grub a été développé par Erich Boleyn (cf http://www.uruk.org/grub). Vers 1998, il a abandonné le développement de Grub au profit de GNU/Grub (cf http://www.gnu.org/software/grub) développé par Y.K. Okuji. Plus récemment, sur Savannah est réapparu un projet dénommé Grub qui est la continuité de GNU/Grub.

Construire la disquette de boot

A partir de CD1 de la distribution debian GNU/Hurd G1, dans le repertoire install, taper la commande :

dd if=grub-boot-0.5.95.image of=/dev/fd0
Ensuite un petit test s'impose : rebooter votre machine avec la disquette, et regarder d'une part si la machine boot et d'autre part si la config de grub est correct. Dans mon test, Grub partait immédiatement sur une configuration erronée sans me laisser choisir. J'ai du retoucher cette configuration

Modifier la configuration

La configuration de Grub se trouve dans le fichier /boot/grub/menu.lst. Je ne rentrerais pas dans les détails. Je donnerais juste un exemple, mon fichier :

timeout 30
color black/cyan yellow/cyan
i18n (hd0,0)/boot/grub/messages
keytable (hd0,0)/boot/fr-latin1.klt
altconfigfile (hd0,0)/boot/grub/menu.once
default 0

title Mandrake 8.0 
kernel (hd0,0)/boot/vmlinuz root=/dev/hdb1

title GNU/Hurd 
root (hd1,0)
kernel /boot/gnumach.gz root=hd0s1
module /boot/serverboot.gz

Que je vais un peu expliquer .

Le première ligne :

timeout 30
qui indique que si l'utilisateur ne fait rien, le choix par défaut sera selectionné au botu de 30 secondes.

Le choix par défaut se trouve indiqué un peu plus loin :

default 0
Ici, c'est le choix 0 qui est par défaut, c'est à dire le premier choix. Dans mon cas, c'est le lancement de Mandrake 8.0.

En suite on observe deux blocs de lignes

Chaque bloc correspond à un choix dans le menu initial.

Dans ce cas, le premier bloc correspond au boot sur la partition Linux-Mandrake, /boot/vmlinuz étant le noyau Linux.

Le deuxième bloc correspond au démarrage de GNu/Hurd. Ceci est un peu plus complexe dans la mesure ou le Hurd boot en deux temps : GNU/Mach puis les serveurs GNU/Hurd. Le premier temps, c'est la ligne kernel /boot/gnumach.gz root=hd0s1, le deuxième c'est la ligne module /boot/serverboot.gz

Contraire à un Lilo (un autre bootloader), Grub ne nécessite pas de manipulation particulière pour que la nouvelle configuration soit prise en compte. Il suffit de modifier le fichier.

Retouche de la disquette de boot

Sous Linux

Pour retoucher la config de Grub sur la disquette, regarder ce qu'il y a dessus. Cependant il faut faire attention sur les distributions récente avec automount on peut avoir quelques surprises : le disquette est au format ext2 et non FAT. Donc la manip est la suivante sous root :

mount -t ext2 /dev/fd0 /mnt/floppy
cd /mnt/floppy/boot/grub
vi menu.lst
repérer la ligne
timeout 0
et la remplacer par
timeout 30
par exemple pour avoir 30 secondes pour chosir sur le menu de Grub. ensuite :
cd
umount /mnt/floppy

Sous Hurd

Comme l'explique Marcus Brinkmann dans un de ses messages, il est possible de faire cette manipulation sous GNU/Hurd. La démarche est quasiment la même que sous Linux, il suffit juste de remplacer le mount par :

settrans -c /floppy /hurd/ext2fs /dev/fd0

retour


Emmanuel DUMAS, emmanuel point dumas arobase free point france
Last modified: Wed Mar 27 21:35:05 CET 2002