Page suivante Page précédente Table des matières

4. Compiler le noyau

4.1 Nettoyer et chercher les dépendances

Lorsque le script de configuration va se terminer, il vous demandera de faire un "make dep" et (peut-être) "make clean". "make dep" assure que toutes les dépendances, comme les fichiers d'en-têtes (include) sont en place, et ne prend pas trop de temps à moins que vous n'ayez une machine très lente. Pour les anciennes versions, lorsque c'est terminé faites un "make clean". Cela détruit tous les fichiers objets et d'autres fichiers que les anciennes versions laissent trainer. N'oubliez pas cette étape avant de recompiler un noyau.

4.2 La compilation

Après avoir cherché les dépendances et nettoyé l'arborescence, vous pouvez lancer la compilation par "make bzImage" ou "make bzdisk" (c'est cette partie qui prend du temps). "make bzImage" va compiler le noyau, et créer le fichier "bzImage" dans le répertoire arch/i386/boot qui correspond au nouveau noyau compressé. "make bzdisk" fait la même chose, mais copie le noyau sur une disquette que vous aurez insérée dans le lecteur "A:".

"bzdisk" est assez commode pour tester de nouveaux noyaux ; s'il ne fonctionne pas, enlevez juste la disquette et relancez la machine avec votre ancien noyau. C'est également une méthode pratique si vous avez détruit accidentellement votre noyau (ou quelque chose de ce genre). Vous pouvez également vous en servir pour installer de nouveaux systèmes, en copiant directement le contenu d'un disque sur un autre ("tout ça ? ouah !").

Tous les noyaux assez récents sont compressés, comme l'indique le "bz" au début des noms. Un noyau compressé est automatiquement décompacté lors de l'exécution.

Pour les noyaux plus anciens, bzImage n'existait pas et on utilisait zImage. Cette possibilité est toujours disponible mais vue la taille des noyaux récents il est à peu près obligatoire d'utiliser bzImage car l'ancienne méthode ne peut gérer que des noyaux de taille limitée.

4.3 Les autres options du "make"

"make mrproper" est un "make clean" plus puissant. Cela est parfois nécessaire, vous devriez le faire à chaque patch. Il efface également votre fichier de configuration donc il faudra éventuellement en faire une copie avant (.config).

"make oldconfig" essaiera de configurer le noyau à partir d'un vieux fichier de configation, il choisira toutes les options de "make config" pour vous. Si c'est la première fois que vous compilez un noyau ou si vous n'avez pas un ancien fichier de configuration n'utilisez pas ceci, vous devrez sans doute changer la configuration par défaut.

Regardez la section sur les modules à propos du "make modules".

4.4 Installer le noyau

Une fois que vous avez un nouveau noyau qui semble fonctionner comme vous le voulez, il est grand temps de l'installer. La plupart des gens utilisent LILO (LInux LOader). "make zlilo" installera votre noyau, lancera LILO, et laissera votre machine prête à rebooter, mais SEULEMENT si lilo est configuré de la manière suivante : le noyau s'appelle /vmlinuz, lilo se trouve dans /sbin, et votre fichier de configuration pour LILO (/etc/lilo.conf) correspond à ces données.

Sinon, vous devrez utiliser LILO directement. C'est un produit assez facile à installer, mais dont le fichier de configuration peut être déroutant. Regardez le fichier de configuration (/etc/lilo/config pour les versions les plus anciennes, /etc/lilo.conf pour les récentes), et regardez son contenu. Le fichier de configuration doit ressembler à ceci :

    image = /vmlinux
        label = Linux
        root = /dev/hda1
        ...

La ligne "image =" sert à indiquer le nom du noyau utilisé. Beaucoup de gens utilisent /vmlinuz. "label" servira à indiquer à LILO sur quel noyau ou sur quel système d'exploitation vous allez booter (nom logique), et "root" est la partition racine de ce système d'expoitation. Faites une sauvegarde de votre vieux noyau (quel que soit son nom), et copiez le nouveau noyau (bzImage) à sa place : "cp bzImage /vmlinuz" si vous utilisez "/vmlinuz", puis relancez lilo. Sur les systèmes récents, vous pouvez simplement lancer "lilo", mais sur de plus anciens, vous devez faire un /etc/lilo/install ou /etc/lilo/lilo -C /etc/lilo/config.

Si vous désirez en savoir plus sur la configuration de LILO, ou si vous voulez avoir LILO, récupérez la dernière version sur votre site FTP favori et suivez les instructions.

Pour booter sur l'un de vos anciens noyaux situés sur votre disque dur (une autre méthode de secours quand le noyau plante), copiez les lignes suivantes "image = xxx" à la fin du fichier de configuration LILO, et changez "image = xxx" par "image = yyy", où "yyy" est le chemin complet du noyau de secours. Puis changez "label = zzz" en "label = linux-sauvegarde" et relancez lilo. Si elle n'y est pas, vous devrez rajouter une ligne dans le fichier de configuration indiquant "delay=x", où x est le temps en dixième de secondes qui indique à LILO le temps qu'il doit attendre avant d'amorcer la machine. Vous pouvez l'interrompre (avec la touche shift par exemple), et taper le label de l'image du noyau de sauvegarde (au cas où un problème se produit).


Page suivante Page précédente Table des matières