next up previous contents index
Suivant: Créer une image initrd Parent: Compiler un noyau personnalisé Précédant: Compiler un noyau personnalisé   Table des Matières   Index


Compiler un noyau modulaire

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 :

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


next up previous contents index
Suivant: Créer une image initrd Parent: Compiler un noyau personnalisé Précédant: Compiler un noyau personnalisé   Table des Matières   Index
Les Logiciels du Soleil
1999-09-28