Booter FreeBSD avec Grub
Georg Wagner
Translate by eberkut - http://www.chez.com/keep
1 Qu'est-ce que Grub ?
Grub
est un bootloader qui est conforme au standard multiboot.
comprend les systèmes de fichier (FFS, FAT16, FAT32, minixfs, ext2fs)
est capable de booter une multitude d'OS.
est capable de booter depuis un réseau (RARP, BOOTP, DHCP)
vient à bout de la limitation de 1024 cylindres.
a un menu de boot, qui peut être configuré en éditant un fichier.
a aussi une interface de ligne de commande, qui est accessible durant le processus de boot.
a un système d'aide intégré ; quand vous pressez la touche tab, des compléments potentiels des commandes entrées sont suggérés.
2 Préparer l'installation de Grub
2.1 Obtenir Grub
Je n'ai jamais à compiler grub depuis les sources sur système FreeBSD avant la release 4.0. Par conséquent, j'avais l'habitude de ripper grub à partir d'une distribution Debian Linux. De nos jours vous pouvez télécharger une copie précompilée à ftp://alpha.gnu.org/gnu/grub/.
La dernière version utilisée est :
grub-0.5.96.1-i386-pc.tar.gz
Il y a même un port fonctionnant dans le port collection maintenant.
2.2 Installer les fichiers
Unzippez et détarez le tarball avec :
Maintenant modifiez le répertoire /boot, créez un sous-répertoire nommé grub et copiez les fichiers stage1, stage2, et menu.lst dans le nouveau répertoire.
2.3 Éditer menu.1st
Éditez le fichier /boot/grub/menu. Il devrait contenir ceci :
Remarques : La string d'installation devrait refléter votre système personnel. Sur ma machine, FreeBSD réside sur le deuxième disque sd1 SCSI et je préfère le booter à partir d'une disquette.
Les anciennes version de grub peuvent ne pas charger le nouveau ELF_kernel de FreeBSD. Par conséquent il était nécessaire d'amorcer le kernel indirectement par /boot/loader. Même maintenant c'est la méthode préférée, en raison du nombre de dispositifs utiles de /boot/loader.
2.4 Générer le disque d'installation bootable
Depuis que je ne peut plus compiler le grub sous FreeBSD, l'installation finale doit être faite par l'intermédiaire du disque de boot (d'autre part vous pourriez utiliser le grub shell directement).
Insérez une disquette dans votre lecteur, su en root, puis entrez les commandes :
# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of /dev/fd0 bs=512 seek=1
Si tout fonctionne vous devriez avoir maintenant un disque d'installation bootable depuis la disquette.
3 Installer Grub
Rebootez votre machine et attendez jusqu'à ce que vous soyez dans le grub shell. Entrez alors (tout sur une ligne) :
La première partie indique à grub où trouver son stage1. La 2ème partie indique au grub d'installer son secteur de boot sur une disquette (fd0) (insérez en une neuve avant de taper "entrée", si vous voulez conserver votre disque d'installation). La 3ème partie indique où trouver stage2 et la dernière partie indique où le fichier menu réside. J'ai omis la partie avec 0x8000 p, si vous voulez en savoir plus lisez le manuel. Un point intéressant : le d devant (fd0) est décrit comme facultatif dans le manuel, mais toutes les installations que j'ai essayées échouaient quand cette option était omise.
4 Références