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:[email protected]:/cvs login passwd: <ENTREE> $ cvs -d :pserver:[email protected]:/cvs checkout grub $ cvs -d :pserver:[email protected]:/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'optiondisklessn'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 (nbgrubetpxegrub) 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