Page suivante Page précédente Table des matières | GRUB-HOWTO: Compilation et installation des programmes |
Le GRUB est l'amorce d'un mini-OS. La taille du stage2 peut donc être conséquente si l'on inclut l'intégralité du support des cartes réseaux PCI et ISA par exemple. Suivant les cas, on peut souhaiter diminuer la taille du stage2, ou avoir accès à des fonctionnalités qu'il faut inclure à la compilation.
Pour une utilisation "basique", type boot de Linux, Windows et autres depuis des disques ou des disquettes, les paquets pré-compilés seront suffisants. Pour des besoins plus particuliers, mieux vaut compiler. Et puisqu'il s'agit de logiciel libre, que nous disposons des sources, pourquoi s'en passer ?
Le plus simple est en général de récupérer la dernière version CVS sur gnu.org. Les explications sont fournies sur www.gnu.org, lorsque vous suivez les instructions de la page "Developer resources" pour récupérer par CVS un module.
Pour le grub, procédez ainsi (il faut que cvs soit installé sur votre système, évidemment) :
$ cvs -d :pserver:anoncvs@subversions.gnu.org:/cvs login passwd: <ENTREE> $ cvs -d :pserver:anoncvs@subversions.gnu.org:/cvs checkout grub $ cvs -d :pserver:anoncvs@subversions.gnu.org:/cvs logout
Le processus de compilation est standard pour un programme GNU. En guise d'illustration, et afin de permettre l'utilisation du boot par le réseau, nous allons sélectionner certaines options de compilation particulières. Pour les lister, une fois placé dans le répertoire du GRUB, tapez :
./configure --help | more
Par défaut, la possibilité de lecture des systèmes de fichiers ext2, reiserfs,
minix, fat et ffs est incluse dans les options de compilation (on peut en
désactiver certaines via des options --disable-foo
). A titre
d'exemple et pour ce qui va suivre, nous rajoutons par contre la possibilité
de démarrer par le réseau en incluant le code pour toutes les cartes PCI
supportées.
L'optiondiskless
n'est pas nécessaire pour permettre le démarrage par le réseau d'une station équipée seulement d'un lecteur de disquette : elle permet de créer deux images du GRUB (nbgrub
etpxegrub
) qui correspondent en fait au stage2, et qui permettent d'avoir accès à un choix des OS lorsque l'on démarre par le réseau. Ces "noyaux" sont appelés par le bootloader en ROM de la carte Ethernet, que ce soit le logiciel libre http://etherboot.sourceforge.net, ou une ROM PXE Preboot Execution Environment d' INTEL.
Voici notre ligne de commande :
$ ./configure --enable-ns8390 --enable-3c90x --enable-3c595 \ --enable-eepro100 --enable-epic100 --enable-lance --enable-otulip \ --enable-tulip --enable-via-rhine --enable-rtl8139
suivie du classique make
puis make install
, dont la fonction est
de copier les scripts, binaires et documentation dans les répertoires
/usr/local/{bin,sbin,man,info}, ainsi que les différents *stage*
dans
/usr/local/share/grub/i386-pc/.
make install
n'installe pas le bootloader : il "sort" juste les
fichiers du répertoire de compilation pour les mettre en place dans les
répertoires habituels.
Les différents programmes de gestion depuis Unix (grub grub-install
grub-md5-crypt mbchk
) doivent être en place, et les éléments du GRUB
proprement dit (les stages) se trouvent, à moins que vous ayez configuré les
répertoires d'installation différemment, dans le répertoire
/usr/local/share/grub/i386-pc/.
Nous pourrions les laisser là. Mais afin d'éviter :
nous allons les mettre en place dans un répertoire standard pour le grub. Donc :
# mkdir /boot/grub # cp /usr/local/share/grub/i386-pc/*stage* /boot/grub
Page suivante Page précédente Table des matières |