Recompiler le Noyau 2.0 et 2.1
Les noyaux disponibles avec les distribution Linux sont toujours compilés avec un maximum de pilotes, dans le but d'être compatibles avec une majorité de machines.
Pourquoi recompiler le noyau ?
Une autre raison est, qu'aucun des noyaux disponibles sur les distributions Linux ne contient de pilote pour les cartes SON. Les options de compilation pour ces cartes étant fonction de chaque machine (adresse, IRQ et DMA).
Vous devez installer sur votre machine, le compilateur gcc, et les sources du noyau Linux, et si vous utilisez le mode de configuration sous XWindow vous devez aussi installer le langage script tcl/Tk/TclX.
Que faut-il pour compiler le noyau ?
Les lignes suivantes s'adressent à des débutants qui n'ont aucune expérience du système Linux. Les explications sont volontairement simples, au risque de choquer certains. Le but de ce chapitre est de vous donner les moyens de réussir la compilation et l'installation rapide du noyau.
Pour les utilisateurs confirmés, une fois gcc, et les sources du noyau installés, reportez-vous au paragraphe: Configurer le noyau.
Pour installer gcc et les sources Linux, nous allons utiliser le programme setup de la distribution kheops ou Slackware 3.1. Vous devez avoir pour cela le CDROM kheops ou Slackware présent dans votre lecteur.
Installer gcc, les sources du noyau et Tcl/Tk avec setup.
Tapez la commande:
Vous avez maintenant le menu général du programme setup, que vous avez déjà utilisé pour installer la distribution Linux.
1) Vous devez ensuite, définir la source des programmes à installer. Depuis le menu de setup, sélectionner l'option SOURCE, et dans le sous-menu, l'option Depuis le CDROM, validez par <OK>.
2) Vous devez ensuite indiquer au programme setup, que vous voulez installer les packages sur le disque dur. Sélectionnez l'option disque, et valider par <OK>.
Setup va afficher un écran vous demandant de choisir les packages à installer, validez par <YES>.
Vous avez maintenant le menu de sélection des packages de la distribution kheops, utilisez les flèches pour vous déplacer et la barre espace pour faire la sélection.
3) Vous devez choisir choisir la série [D] pour le compilateur gcc, la série [K] pour les sources du noyau, et TCL pour le langage script Tcl/tk. Validez par <OK>.
Le programme setup vous propose maintenant de continuer l'installation. Si vous êtes sûr de votre choix, validez par <YES>.
4) Vous devez maintenant choisir le niveau de dialogue à utiliser pour l'installation des packages, sélectionner l'option MENU.
5) Au bout de quelques secondes le menu de sélection des packages de la série [D], à installer va s'afficher.
Pour cette série, vous n'avez rien à choisir, tout a déjà été présélectionné pour vous. Vous devez seulement valider par <OK>. La phase d'auto-installation des packages de la série [D] peut débuter.
6) Une fois l'installation de la série [D] terminée, le menu de sélection des packages de la série [K] s'affiche, il n'y a pas de choix possible, seules les sources du Noyau 2.0.0 sont disponibles. Vous devez valider par <OK> pour continuer.
7) Une fois l'installation de la série [K] terminée, le menu de sélection des packages de la série [TCL] s'affiche. Les packages à installer sont déjà sélectionnés, vous devez valider par <OK> pour continuer.
8) Une fois le package [TCL] installé, setup vous demande de configurer votre système. Vous devez répondre <NO> et valider.
Si tout s'est bien passé, vous devez être revenu au menu général de setup. Le compilateur et les sources du noyau sont maintenant installés sur votre système.
9) Choisissez <CANCEL> pour quitter le programme setup.
Les sources du noyau ont été installées dans le répertoire /usr/src/linux.
Nous supposons pour ce paragraphe, que vous êtes familiarisé avec le système.
Installer les sources du noyau manuellement.
Logez-vous en tant que root, et allez dans le répertoire /usr/src. Si vous avez déjà installé les sources d'un noyau il y aura toujours un répertoire appelé linux, contenant l'ensemble des sources du noyau. Si vous avez de l'espace disque disponible, il est souhaitable de conserver ce répertoire.
Pour installer de nouvelles sources de noyau, vous devez renommer le répertoire linux actuel, en fonction du numéro de version du noyau. Si vous ne le connaissez pas, la commande uname -r vous indiquera la version du noyau actuellement en fonction. Pour renommer votre répertoire linux en linux-2.0.0 par exemple, utiliser la commande:
Dans n'importe quel cas, soyez sûr qu'il n'y a aucun répertoire linux dans /usr/src avant de décompresser et d'installer les nouvelles sources d'un noyau.Copiez dans le répertoire /usr/src le fichier archive des nouvelles sources. Utilisez ensuite une des commandes suivantes.
Archives compressées (.tar.gz ou .tgz).
Archives TAR (.tar)
Vous verrez la liste des fichiers se dérouler, lorsque tout sera terminé, il y aura un nouveau répertoire linux. Allez dans le répertoire linux, vous y trouverez le fichier README. Utilisez la commande more README, pour visualiser ce fichier, et regarder la section intitulée INSTALLING the kernel. Vous y trouverez toutes les indications nécessaires pour la compilation du nouveau noyau.
Les nouveaux noyaux offrent d'avantage de facilité pour communiquer avec de plus en plus de matériels, ils peuvent avoir une meilleure gestion des processus, tourner plus rapidement que les anciennes versions, et corriger les erreurs des versions précédentes. Vous pourrez les trouver sur les compilations de CDROM, et sur les cites Internet (ftp). Nous allons voir maintenant, comment mettre à jour les sources d'un noyau.
Mise à jour du noyau avec les patchs.
Les mises à jour sont distribuées sous deux formes, on va trouver : soit des archives complètes, soit sous forme de patch.
Qu'est ce qu'un patch ?
La commande patch est utilisée pour mettre à jour un programme ou un répertoire, elle se sert pour cela d'un fichier qui a été généré avec la commande diff. L'avantage d'utiliser cette méthode, est qu'au lieu de distribuer à chaque mise à jour du noyau, une archive complète, dont la taille atteint aujourd'hui 6Mo, elle met à disposition une archive contenant seulement les modifications apportées au noyau et dont la taille moyenne elle, est de l'ordre de 200Ko. On comprendra aisément l'intérêt à utiliser les patchs, surtout si l'on doit se procurer ses mises à jour par modem.
Appliquer un patch.
Pour cet exemple, nous supposons que sur votre système les sources du noyau 2.0.15 sont installées, et que vous désirez passer au noyau suivant. Pour cela procurez-vous le patch-2.0.16.
Déplacez-vous dans le répertoire /usr/src, pour y copier le patch-2.0.16, et pour un patch compressé (extension .gz), tapez la commande suivante:
Si le patch que vous utilisez n'est pas compressé, tapez la commande:
Vous verrez alors une liste de messages vous indiquant les modifications. Ces messages défilent généralement trop vite, et l'on a pas le temps de les lire. Cela devient gênant si des erreurs se sont produites. Vous pouvez alors ajouter à la commande patch l'option -s, et ainsi, seuls les messages d'erreurs seront affichés. Exemple:
Si tout s'est déroulé correctement, vous disposez maintenant des sources complètes du noyau 2.0.16.
Si vous voulez passer à l'indice 2.0.20, vous devrez appliquer encore quatre patchs en utilisant chaque fois la même méthode.
En cas d'erreurs sur un patch.
Si des erreurs se sont produites, vous pourrez toujours rechercher et regarder les fichiers ayant pour extension (.rej). Utilisez pour cela la commande find, elle vous donnera la liste avec le chemin complet de chaque fichier.
Si le patch que vous avez appliqué est défectueux, pour revenir en arrière et retrouver vos sources originales, vous devez relancer la même commande patch, mais cette fois en lui ajoutant l'option -R. Pour reprendre l'exemple ci-dessus, vos sources d'origine ont l'indice 2.0.15, le patch appliqué est le 2.0.16, pour revenir en arrière après avoir appliqué une première fois le patch 2.0.16, tapez la commande:
Si tout s'est bien passé, vous avez de nouveau les sources 2.0.15.
La commande patch affiche le message d'erreur:
Vous êtes probablement en train d'appliquer de nouveau le même patch. Vous ne devez pas répondre y, cela risquerait de détruire vos sources.
Enlever les fichiers (.orig).
Quand vous appliquez un patch sur les sources d'un noyau, la commande sauvegarde les fichiers devant être modifiés dans leur forme originale, en leur ajoutant l'extension (.orig). Après avoir appliqué quelques patchs sur les sources d'un noyau, vous devrez penser à enlever ces fichiers, pour cela vous utiliserez une des deux commandes ci-dessous.
ou
Les explications qui suivent, concernent la version stable du noyau Linux, il s'agit du noyau Linux-2.0.0. Ces explications peuvent aussi s'appliquer aux nouvelles versions du noyau. Au moment où ce manuel est rédigé les sources disponibles pour la version 2.0. du noyau ont l'indice 26.
Configurer le noyau.
Il existe trois modes de configuration pour le noyau : sous Xwindow, avec ncurses et le mode normal. Si l'environnement graphique Xwindow est installé sur votre système nous vous recommandons la configuration sous X.
Pour lancer la configuration du noyau, vous devez utiliser une des trois commandes suivantes.
Sous Xwindow : make xconfig
Pour la version ncurses : make menuconfig
Pour le mode normal : make config
Note : nous nous sommes basés sur le mode de configuration Xwindow. Vous devez disposer en plus du compilateur GCC et des sources Linux, d'une version récente de Tcl/Tk installée.
make xconfig
xconfig : Menu général de xconfig
Pour lancer le programme de configuration du noyau sous Xwindow vous devez suivre les indications ci-dessous.
Une fois Xwindow ouvert vous devez activer un terminal xterm ou color_xterm, puis vous déplacer dans le répertoire des sources du noyau, et lancer la commande make xconfig.
Le programme va se compiler, et au bout de quelques secondes le menu général de xconfig va s'afficher (voir l'écran ci-dessus). A partir de maintenant vous êtes en mesure de débuter la configuration de votre noyau. Nous allons passer en revue les principales commandes du menu général.
Aide sur les questions posées par xconfig.
xconfig: Aide
Chaque section du noyau est composée d'une série de questions, auxquelles vous devez répondre pour le configurer en prévision de sa compilation.
Le bouton Help permet d'obtenir des renseignements sur la fonction du noyau à configurer. La zone de gauche de la question comporte trois boutons radio : y (yes), m (module) et n (no). La plupart du temps, m est désactivé et on a le choix entre y et n.
Si vous voulez que l'option soit compilée dans le noyau vous cliquez sur y.
Si vous voulez que l'option soit compilée comme module vous cliquez sur m.
Si vous ne voulez pas de cette option vous cliquez sur n.
Pour passer à la section suivante vous cliquez sur le bouton Next, et à la section précédante sur Prev. Pour revenir au menu général sur Main Menu.
Chapitre Suivant , Précédent , Table des matières
Copyright © 1997 "Logiciels du Soleil" pour l'adaptation française
1 rue Pasqualini, 06800 Cagnes sur mer, kheops@linux-kheops.com