Page suivante Page précédente Table des matières | GRUB-HOWTO: Ma première disquette GRUB super géniale |
Nous allons donc installer le GRUB sur une disquette, avec l'essentiel pour pouvoir tester en direct nos connaissances toutes neuves.
Le grub boutera depuis la disquette et chargera le fichier menu.lst
qui
effectuera immédiatement une transcription d'un clavier qwerty US (ce que
l'on obtient par défaut) en un clavier azerty_FR ASCII (c'est-à-dire que
les caractères accentués ne seront pas accessibles). Différentes entrées du
menu permettent d'accéder à une aide sommaire sur :
Nous commençons par créer un système de fichiers supporté par le GRUB sur une disquette vierge. Ici de l'ext2 (sous root):
mke2fs /dev/fd0
Nous montons ce système de fichiers puis créons deux répertoires :
mount -t ext2 /dev/fd0 /floppy mkdir /floppy/grub mkdir /floppy/grub/doc
Nous recopions les stage1 et stage2 dans le répertoire grub de la disquette :
cp /boot/grub/stage? /floppy/grub
Nous ajoutons dans ce même répertoire le fichier de menu "menu.lst"
que
voici :
# GRUB : fichier "menu.lst" # Eh ! vous me reconnaissez ? Je vais vous en faire voir de toutes les # couleurs... le premier couple foreground/background est pour le menu # normal, le deuxième couple foreground/background est pour l'entree # selectionnee color white/blue yellow/cyan # Emulation d'un clavier azerty_FR setkey less backquote setkey greater tilde setkey ampersand 1 setkey 1 exclam setkey tilde 2 setkey 2 at setkey doublequote 3 setkey 3 numbersign setkey quote 4 setkey 4 dollar setkey parenleft 5 setkey 5 percent setkey minus 6 setkey 6 caret setkey backquote 7 setkey 7 ampersand setkey underscore 8 setkey 8 asterisk setkey backslash 9 setkey 9 parenleft setkey at 0 setkey 0 parenright setkey parenright minus setkey numbersign underscore # no change for equal # no change for plus setkey a q setkey A Q setkey z w setkey Z W setkey caret bracketleft # no equivalent for diaresis => we keep the US braceleft setkey dollar bracketright # no equivalent for pound => we keep the US braceright setkey q a setkey Q A setkey m semicolon setkey M colon setkey bracketleft quote setkey percent doublequote setkey asterisk backslash setkey bracketright bar setkey w z setkey W Z setkey comma m setkey question M setkey semicolon comma setkey period less setkey colon period setkey slash greater setkey exclam slash setkey bar question # Par defaut bouter l'entrée N, ici la troisieme : l'aide sur les # commandes de base. La troisieme c'est 2 (0,1,2). default 2 # Si vraiment vous ne savez pas quoi faire, au bout de 20 secondes # on lance la sequence 2 timeout 20 # Repasser le clavier en qwerty title Repasser le clavier en qwerty setkey # Aide sur la transcription du fichier title Aide sur la transcription du clavier cat /grub/doc/azerty_FR.translation pause Appuyez sur une touche pour continuer... # Aide sur les commandes de base pour bouter title Aide sur les commandes de base pour bouter cat /grub/doc/commandes.txt pause Appuyez sur une touche pour continuer
Puis, la maison ne reculant devant aucun sacrifice, les fichiers d'aide qui
sont invoqués dans le menu vous sont fournis, et sont à mettre dans
le répertoire "/floppy/grub/doc"
.
D'abord le fichier "azerty_FR.translation":
ATTENTION ! Seuls les caracteres ASCII sont disponibles : toutes les lettres accentuees sont inaccessibles. Les lettres sont a leur place. Par contre, certains caracteres --- ~ # | ` \ @ [ ] { } ---, normalement accedes par une combinaison de touches ( <Alt Gr> + <touche>) doivent etre affectes autrement. Les `<' et `>' portes par une 102 eme touche qui n'existe pas sur les PC US doivent etre affectes ailleurs. D'ou 3 cas : - un caractere accentue, non disponible, etait accede par la meme touche : le caractere special reste sur sa touche, et le remplace : ~ ('e) - ` (`e) - @ (`a) ; - les `<' et `>' sont affectes a la touche portant l'exposant 2 ; - les cas particuliers : o `{' et `}' sont a la place US et remplacent `trema' et `livre' ; o `|' est assigne a `paragraphe' (mnemo : au-dessus vertical `!') ; o `#' est assigne a `degre' aka `numero' (mnemo : degre|diese, numero|numbersign) ; o `[' et `]' sont assignes a (`u) et `mu' (mnemo : penser regexp pres du joker *).
et le fichier "commandes.txt" que voici :
Pour bouter un OS, il faut trouver le noyau, dire au bootloader qu'il s'agit d'un noyau, lui passer les paremetres et lui donner la main. Donc : root ( # appuyez sur <TAB> pour afficher les peripheriques disponibles kernel (hd1,0)/mon_beau_noyau [parametres] # il faut charger _un noyau_ qui se trouve _là_, en lui passant tels # [paramètres] boot # chargez ! Et pour un noyau non supporte, trouver le secteur d'amorcage (512 octets == 1 bloc) chainloader (hd0,1)+1 # il faut pointer sur la bonne partition... boot # chargez ! Et n'oubliez pas de lire les messages affiches par le GRUB...
Bien : tous les fichiers sont en place, mais la disquette n'est pas amorçable. Nous nous en occupons donc par la commande suivante (il faut être root) :
umount /floppy /usr/local/sbin/grub --batch <<EOT root (fd0) setup (fd0) quit EOT
Où en fait nous utilisons le grub-shell (émulation sous Unix) en mode batch,
en lui disant que tout ce dont il a besoin est sur la disquette (root
(fd0)
) --- par défaut le programme d'installation va chercher dans les
répertoires /boot/grub et /grub --- et qu'il s'agit d'installer le grub sur
la disquette (setup (fd0)
).
Au démarrage, le menu va s'afficher. Lorsqu'une entrée est sélectionnée il suffit d'appuyer sur <ENTRÉE> pour que la séquence soit lancée.
Pour passer en ligne de commande, tapez `c'. Pour revenir au menu, tapez
<ESC>. Cela n'est pas rappelé dans le fichier "commandes.txt"
,
tout simplement parce que le GRUB l'affiche : regardez !
Nous avons alors une disquette amorçable, qu'il ne vous reste qu'à essayer. Et quand vous serez parvenus à revenir jusqu'ici, vous pourrez lire la suite...
Page suivante Page précédente Table des matières |