Préambule: tout ce qui va suivre suppose qu'on a une distribution Linux correctement installée.
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.
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/fd0Ensuite 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
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.gzQue je vais un peu expliquer .
Le première ligne :
timeout 30qui 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 0Ici, 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
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
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.
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.lstrepérer la ligne
timeout 0et la remplacer par
timeout 30par exemple pour avoir 30 secondes pour chosir sur le menu de Grub. ensuite :
cd umount /mnt/floppy
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