Page suivante Page pr�c�dente Table des mati�res

7. 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 ?

7.1 R�cup�rer le GRUB

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

7.2 Compilation

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'option diskless 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 et pxegrub) 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.

7.3 Mise en place des *stage* dans le r�pertoire "images"

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 :

  1. de voir les images utilis�es �cras�es malencontreusement lors d'une nouvelle compilation, rendant peut-�tre le d�marrage impossible ;
  2. d'avoir � sp�cifier plus d'options que n�cessaire lors de l'installation,

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