Cette section contient un certain nombre d'informations, qui vous
permettront de tirer profit de la puissance et de la flexibilité des
noyaux modulaires. Si vous ne voulez pas utiliser les noyaux
modulaires, reportez-vous à la
section
qui explique comment créer et
installer un noyau monolithique. Nous supposons que vous avez installé
les paquetages kernel-headers et kernel-source et
que toutes les commandes seront exécutées depuis le répertoire
/usr/src/linux.
Avant la création d'un noyau, il est important d'avoir une arborescence source en bon état. Il est donc recommandé d'utiliser la commande make mrproper. Les fichiers de configuration, et tout ce qui concerne les anciennes compilations, seront supprimés de l'arborescence. Vous devez maintenant créer un fichier de configuration qui déterminera les différents composants à inclure dans le noyau. Suivant votre matériel et vos préférences personnelles, trois méthodes sont disponibles pour configurer le noyau.
Remarque : Afin d'utiliser kerneld (voir la
section
pour plus de détails) et les
modules noyau, vous devez répondre Yes pour kerneld
support et pour module version (CONFIG_MODVERSIONS)
support lors de la configuration.
Remarque : Si vous compilez un noyau Linux/Intel sur une
machine qui utilise un processeur clone (Cyrix ou AMD par
exemple), il est recommandé de choisir 386 comme type de
processeur.
Si vous voulez compiler un noyau avec un fichier de configuration
(/usr/src/linux/.config) déjà créé avec une des méthodes
précédentes, vous pouvez ignorer les commandes make mrproper et
make config. Utilisez la commande make dep, suivie de la
commande make clean pour préparer l'arborescence source.
L'étape suivante permet de compiler le code source en un programme directement utilisable par la machine au démarrage. La méthode décrite ici est relativement simplifiée, pour plus de renseignements consultez le Kernel-HOWTO ou le Makefile de votre système Linux qui se trouve dans /usr/src/linux sur votre système.
Si vous avez un adaptateur SCSI et si vous avez créé vos modules SCSI,
compilez une nouvelle image initrd (consultez la
section
, notez qu'il y a peu de raison de
créer un module SCSI dans un noyau personnalisé).
Pour éviter tout problème, nous vous conseillons de conserver une
copie de votre ancien noyau. Ajouter un noyau au menu LILO est aussi
simple que de renommer le noyau original dans /boot, copier
le nouveau noyau dans /boot, ajouter quelques lignes à
/etc/lilo.conf et exécuter /sbin/lilo. Voici un
exemple du fichier /etc/lilo.conf par défaut fourni par Red
Hat Linux :
89#89
Vous devez maintenant mettre à jour /etc/lilo.conf. Si vous
avez compilé une nouvelle image initrd, vous devez dire à
LILO de l'utiliser. Dans l'exemple de /etc/lilo.conf nous
avons ajouté quatre lignes en fin de fichier pour préciser l'autre
noyau à utiliser. Nous avons renommé /boot/vmlinuz en
/boot/vmlinuz.old et changé son label en old. Nous
avons aussi ajouté une ligne initrd pour le nouveau noyau :
90#90
Lorsque le système démarre et lorsque vous appuyez sur la touche
Tab à l'invite d'amorçage LILO boot: deux choix vous seront
proposés :
91#91
Pour utiliser le nouveau noyau (linux) appuyez simplement sur
Entrée ou attendez la fin du décompte. Pour utiliser l'ancien
noyau (old), tapez old, suivi de Entrée.
Voici un résumé des différentes étapes :
mv /boot/vmlinuz /boot/vmlinuz.old
cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz
Vous pouvez maintenant tester votre nouveau noyau en réamorçant votre machine. Observez les différents messages qui s'affichent pour vérifier que l'ensemble de votre matériel a été correctement détecté.