Le HOWTO du noyau Linux (Kernel HOWTO)

par Brian Ward, ward@blah.tu-graz.ac.at

Version 1.0, 5 juin 1999
(5 juillet 1999. Adaptation fran�aise par Eric Dumas dumas@freenix.fr jusqu'� la version 0.80, Christophe Deleuze christophe.deleuze@lip6.fr � partir de la version 1.0). Il s'agit d'un guide d�taill� sur la configuration du noyau, sa compilation et ses mises � jour pour les plates-formes x86.

1. Introduction

Faut-il que vous lisiez ce document ? Oui, si vous avez les sympt�mes suivants :

1.1 Lisez ceci en premier (enfin bon, c'est un conseil) !

Certains exemples pr�sent�s dans ce document pr�supposent que vous poss�dez les programmes GNU tar, find et xargs. Ils sont assez standards, et ne devraient pas vous poser trop de probl�mes. On suppose �galement que vous connaissez la structure de votre disque (partitions). Si vous ne le savez pas, il est imp�ratif que vous gardiez une copie sur papier du r�sultat de l'ex�cution de la commande mount (ou bien une copie du fichier /etc/fstab, si vous savez le lire). Cette information est importante, et ne change pas � moins que vous ne repartitionniez votre disque, en ajoutiez un nouveau, r�installiez votre syst�me, ou quelque chose de similaire.

La derni�re version stable du noyau au moment o� j'�cris ces mots est la 2.2.9, ce qui signifie que les r�f�rences et les exemples donn�s correspondent � cette version. M�me si j'ai essay� de faire en sorte que ce document soit aussi ind�pendant que possible des versions, le noyau est en perp�tuel d�veloppement, donc si vous r�cup�rez une nouvelle version, il risque d'y avoir quelques diff�rences. Cela ne devrait pas poser trop de probl�mes mais risque de semer un peu la confusion.

Il existe deux versions des sources du noyau : une version dite "stable" et une version de d�veloppement. Les version stables ont des num�ros de version pairs : 1.2.x, 2.0.x sont des versions stables... tout comme la 2.2.x. Ces noyaux sont consid�r�s comme �tant les plus stables et sans erreurs. Les noyaux de d�veloppement (1.3.x, 2.1.x, etc) sont des noyaux de test, pour les d�veloppeurs, les testeurs... mais ces noyaux peuvent �tre tr�s bogu�s. Vous �tes pr�venus.

1.2 Un mot sur le style

Un texte qui ressemble � celui-ci est soit un message qui appara�t sur votre �cran, soit un fichier, soit quelque chose qui peut �tre directement saisi, comme une commande ou des options pour une commande (si vous poss�dez une version texte de ce document, il n'y a pas de diff�rence).

2. Quelques questions... avec leurs r�ponses

2.1 Mais quel est le r�le du noyau ?

Le noyau Unix joue le r�le d'interm�diaire entre vos programmes et votre mat�riel. Premi�rement, il g�re la m�moire pour tous les programmes en cours d'ex�cution (processus), et s'assure qu'ils occupent tous une part �quitable (ou non) du temps processeur. En plus, il fournit une interface (simple � utiliser) aux programmes pour communiquer avec votre mat�riel (appels syst�me).

Bien s�r c'est un petit peu plus compliqu� que �a, mais ces fonctions de bases sont les plus importantes � conna�tre.

2.2 Pourquoi voudrais-je mettre � jour mon noyau ?

Les nouveaux noyaux offrent plus de facilit� pour communiquer avec plus de mat�riels (c'est-�-dire qu'ils g�rent plus de p�riph�riques...), ils peuvent avoir une meilleure gestion des processus, tourner plus rapidement que les anciennes versions, �tre plus stables et ils corrigent les erreurs stupides des versions pr�c�dentes. Beaucoup de gens mettent � jour leurs noyaux car ils veulent avoir les nouveaux pilotes de p�riph�riques et les corrections d'erreurs.

2.3 Quel genre de mat�riel supportent les nouveaux noyaux ?

Jetez un coup d'oeil sur le Hardware-HOWTO. Vous pouvez aussi regarder le fichier "config.in" dans les sources de Linux, ou juste essayer "make config", ce qui vous permet de voir tous les mat�riels support�s par le noyau standard, mais pas tout ce que Linux supporte. En effet, beaucoup de p�riph�riques assez utiles (tels les p�riph�riques PCMCIA, et quelques lecteurs de cartouches) sont des modules chargeables maintenus et distribu�s s�par�ment.

2.4 Quelle version de gcc ou de libc utiliser ?

Linus recommande une version de gcc dans le fichier README fourni avec le code source. Si vous ne poss�dez pas cette version, la documentation dans la version recommand�e de gcc devrait vous indiquer si vous avez besoin de mettre � jour votre libc. Ce n'est pas une op�ration compliqu�e, mais il est important de suivre les instructions.

2.5 Que sont les modules chargeables (loadable modules) ?

Ce sont des parties du noyau (pilotes de p�riph�riques g�n�ralement) qui ne sont pas compil�es dans celui-ci. On peut les compiler s�par�ment, les ins�rer et les retirer du noyau � n'importe quel moment. En raison de cette souplesse, c'est devenu la m�thode pr�f�r�e pour coder certaines fonctionnalit�s du noyau. Bon nombre de pilotes de p�riph�riques tels que PCMCIA et les gestionnaires de cartouches QIC-80/40 sont des modules chargeables.

2.6 De combien d'espace disque ai-je besoin ?

Cela d�pend de la configuration de votre syst�me. Tout d'abord, le code source compress� de Linux fait presque 16 Mo pour la version 2.2.9. Vous voulez g�n�ralement le garder dans un coin apr�s l'avoir d�compress�. D�compress� et compil� avec une configuration moyenne, il occupe 67 Mo de plus.

2.7 Combien de temps �a prend ?

Sur les machines r�centes la compilation demande beaucoup beaucoup moins de temps que sur les anciennes. Un AMD K6-2/300 avec un disque rapide peut compiler un noyau 2.2.x en � peu pr�s quatre minutes. Avec de vieux Pentium, 486 ou 386 soyez pr�ts � patienter, �ventuellement des heures, jours...

Si cela vous pose probl�me et que vous avez acc�s � une machine rapide, vous pouvez compiler sur celle-ci (fournissez les bons param�tres, assurez-vous que vos utilitaires sont � jour, etc.) et transf�rer l'image du noyau sur la machine lente.

3. Comment configurer le noyau ?

3.1 R�cup�rer les sources

Vous pouvez r�cup�rer les sources via ftp depuis ftp.kernel.org dans le r�pertoire /pub/linux/kernel/vx.y, o� x.y est la version (par ex. 2.2). Comme expliqu� plus haut les versions se terminant par un chiffre impair sont les versions de d�veloppement et peuvent �tre instables. Le fichier est typiquement linux-x.y.z.tar.gz, o� x.y.z est le num�ro de version. Une version avec suffixe en .bz2 (compress� avec bzip2) est aussi g�n�ralement disponible (la compression bzip2 est plus performante donc le transfert sera plus rapide).

Il vaut mieux utiliser ftp.xx.kernel.org o� xx est votre code de pays, par exemple ftp.fr.kernel.org pour la France, ftp.be.kernel.org pour la Belgique.

3.2 Installer les sources

Faites un su (super utilisateur) ou bien loggez-vous en tant que "root", et allez dans le r�pertoire /usr/src. Si vous avez d�j� install� les sources du noyau, il y aura d�j� un r�pertoire appel� "linux", contenant l'ensemble des sources du noyau. Si vous avez de la place disque et que vous voulez jouer la carte s�curit�, il est pr�f�rable de conserver ce r�pertoire intact. Un syst�me assez pratique consiste � renommer votre r�pertoire en fonction du num�ro de la version. La commande "uname -r" vous indiquera le num�ro de la version du noyau actuellement en fonction.

Par exemple, si "uname -r" donne "1.0.9," vous pourrez d�placer votre r�pertoire (avec mv) "linux" en "linux-1.0.9". Si vous �tes du genre t�m�raire, d�truisez le r�pertoire. Dans tous les cas, soyez s�r qu'il n'y ait aucun r�pertoire "linux" dans /usr/src avant de d�compresser et d'installer les sources.

Dans /usr/src, installez les sources en faisant "tar zxpvf linux-x.y.z.tar.gz" (si vous avez uniquement un fichier .tar, sans de .gz � la fin,"tar xpvf linux.x.y.z.tar" marchera sans probl�me). Vous verrez la liste des fichiers se d�rouler sous vos yeux. Lorsque c'est termin�, il y aura un nouveau r�pertoire "linux". Allez dans linux et jetez un coup d'oeil au fichier README. Il y a une section "INSTALLING the kernel". Suivez les instructions lorsque n�cessaire - prenez garde � ce que les liens soient en place et que les fichiers .o soient d�truits, etc.

Si votre fichier est en .bz2, il vous faudra utiliser le programme bzip2 (voir http://www.muraroa.demon.co.uk/). Faites:

     bz2cat linux-x.y.z.tar.bz2 | tar xvf -

3.3 Configurer le noyau

Note : il s'agit d'une r�p�tition, clarification de la section correspondante dans le fichier README de Linus.

La commande "make config" lance un script qui va vous poser un certain nombre de questions. Il a besoin de bash, donc v�rifiez que vous poss�dez bien /bin/bash, /bin/sh, ou $BASH.

Il existe un certain nombre de possibilit�s autres que make config et il est possible que vous les trouviez plus simples � utiliser. Pour ceux qui utilisent X, vous pouvez essayer make xconfig si vous avez au pr�alable install� Tk (click-o-rama - Nat). make menuconfig est destin� � ceux qui ont install� (n)curses et qui pr�f�rent utiliser un menu en mode texte. Ces interfaces ont un avantage : si vous vous trompez lors de la configuration, vous pouvez facilement corriger l'erreur sans devoir tout relancer.

Avec make menuconfig et make xconfig les options de configuration appara�tront hi�rarchis�es.

Vous �tes alors pr�t � r�pondre aux questions, la plupart du temps par "y" ou par "n". Les pilotes de p�riph�riques acceptent aussi g�n�ralement "m", pour "module". Le pilote sera compil� non pas directement dans le noyau mais en tant que module chargeable. Une interpr�tation plus amusante est que le "m" est pour "maybe" (peut-�tre). Certaines options non critiques ou �videntes ne seront pas d�crites ici. Consultez le paragraphe "Autres options de configuration" pour une courte descriptions de quelques options non d�taill�es ici. Avec make menuconfig vous pouvez utiliser la barre d'espace.

� partir des versions 2.0.x, une option "?" est pr�sente : elle permet d'obtenir une aide pour l'option d�sir�e qui correspond s�rement aux informations les plus � jour. Voici une liste d�crivant bri�vement les options les plus importantes avec leur place dans la hi�rarchie (NdT : et la traduction de l'intitul�).

Kernel math emulation (Precessor type and features)

(�mulation du coprocesseur Arithm�tique) Si vous ne poss�dez pas de coprocesseur arithm�tique (autrement dit, vous ne disposez que d'un 386 ou d'un 486SX), r�pondez "y". Si vous en avez un et que vous r�pondez "y", ce n'est pas grave : le coprocesseur sera utilis� et l'�mulation ignor�e. Pour toute machine pas trop vieille, la r�ponse sera non.

Enhanced (MFM/RLL) disk and IDE disk/cdrom support (Block Devices)

(Gestion am�lior�e des disques durs) Vous devez � peu pr�s toujours r�pondre oui � cette question. Cela signifie que le noyau pourra g�rer les disques standards des PC comme IDE, que bon nombre de gens poss�dent. Ceci n'inclut pas les disques SCSI : ils sont s�lectionnables plus tard dans la configuration.

Une question porte sur les gestionnaires de p�riph�riques "old disk-only" et "new IDE". Vous devez choisir l'un des deux. La principale diff�rence est que le vieux gestionnaire de p�riph�rique ne supporte qu'au plus deux disques sur une seule interface. Le nouveau gestionnaire g�re une deuxi�me interface IDE et les disques CD-ROM IDE/ATAPI , et il est plus gros de 4 ko que l'ancien. Il est suppos� "am�lior�" ce qui signifie qu'� part avoir un nombre diff�rent de bogues il peut am�liorer les performances de votre disque, notamment si vous poss�dez du mat�riel r�cent (comme de l'EIDE).

Networking support (General Setup)

(Gestion du R�seau) En principe, vous ne devriez r�pondre "y" que si votre machine se trouve sur un r�seau tel qu'Internet ou si vous voulez utiliser SLIP, PPP, term, etc. pour communiquer avec un acc�s Internet externe. Toutefois, bon nombre de paquetages (tels que le syst�me X Window) ont besoin de ce support r�seau m�me si votre machine n'y est pas reli�e ; dans ce cas, r�pondez "y". Plus tard, on vous demandera si vous voulez avoir le support TCP/IP. De m�me, r�pondez "y", � moins que vous ne soyez s�r de ce que vous faites.

System V IPC (General Setup)

L'une des meilleures d�finition des IPC (communication inter-processus) se trouve dans le glossaire du livre de Perl. Ces m�canismes sont utilis�s par certains d�veloppeurs Perl et quelques autres paquetages (comme par exemple DOOM), donc ce n'est pas vraiment une bonne id�e de r�pondre "n" � cette question � moins que vous ne sachiez exactement ce que vous faites.

Processor family (Processor type and features)

(Famille de processeur) Dans les anciens noyaux, il s'agissait de l'option Use -m486 flag for 486-specific optimizations.

Cette option s�lectionnait certaines optimisations pour un type de processeur, le noyau fonctionnant normalement avec les autres processeurs. Le noyau g�n�r� avait toutefois une taille l�g�rement sup�rieure. Dans les nouveaux noyaux, cette diff�rence de taille n'est plus d'actualit� donc vous pouvez indiquer le processeur que vous allez utiliser avec le nouveau noyau. Un noyau "386" fonctionnera avec toutes les machines.

SCSI support

(Gestion SCSI) Si vous avez au moins un p�riph�rique SCSI, r�pondez "y". On vous demandera alors de plus amples renseignements sur la gestion des CD-ROM, des disques, et quel type de contr�leur SCSI vous poss�dez. Consultez le SCSI-HOWTO pour plus de d�tails.

Network device support

(Gestion de p�riph�riques r�seau) Si vous avez une carte r�seau, ou si vous voulez utiliser SLIP, PPP, ou un adaptateur sur port parall�le, r�pondez "y". Le script de configuration vous demandera alors quel type de carte vous poss�dez et quels protocoles vous voulez inclure.

Filesystems

(Syst�mes de fichiers) On vous demandera quels types de syst�mes de fichiers vous souhaitez g�rer :

Standard (minix) - Les distributions r�centes ne cr�ent pas de syst�mes de fichiers de type minix, et bon nombre de personnes ne s'en servent pas, mais cela peut �tre malgr� tout une bonne id�e de le configurer. Quelques programmes de "sauvetage de disques" l'utilisent, et encore aujourd'hui, un bon nombre de disquettes risquent d'avoir ce syst�me de fichiers, car il est assez pratique pour les disquettes.

Second extended - C'est le syst�me de fichiers standard de Linux. Vous en aurez tr�s certainement besoin, donc "y". (NdT : et puis c'est un Fran�ais qui l'a fait alors... !)

msdos - Si vous voulez utiliser les partitions de votre disque MS-DOS, ou monter des disquettes au format MS-DOS, r�pondez "y".

Des syst�mes de fichiers originaires d'autres syst�mes d'exploitation sont �galement disponibles.

/proc - Un des syst�mes de fichiers les plus puissants (id�e effront�ment chip�e aux Laboratoires Bell, je pense). �a n'a rien � voir avec vos partitions disques, mais c'est une interface sous forme de syst�me de fichiers avec le noyau et les processus. Un grand nombre d'outils de visualisation de processus (comme "ps") l'utilisent. Si vous l'avez install�, essayez "cat /proc/meminfo" ou "cat /proc/devices". Quelques shells (comme rc) utilisent /proc/self/fd (connu comme /dev/fd sur d'autres syst�mes) pour les entr�es/sorties. Vous devriez r�pondre "y" � ceci : de nombreux programmes Linux standards en ont besoin.

NFS - Si vous �tes en r�seau et que vous voulez utiliser des volumes pr�sents sur d'autres machines, r�pondez "y".

ISO9660 - Format rencontr� sur la plupart des CD-ROM. Si vous poss�dez un CD-ROM et que vous comptez vous en servir sous Linux, r�pondez "y".

Mais je ne sais pas de quels syst�mes de fichiers j'ai besoin !

Bon, tapez "mount", cela va vous afficher un truc comme �a :

        blah# mount
        /dev/hda1 on / type ext2 (defaults)
        /dev/hda3 on /usr type ext2 (defaults)
        none on /proc type proc (defaults)
        /dev/fd0 on /mnt type msdos (defaults)

Observez chacune des lignes. Le mot � c�t� de "type" est le type du syst�me de fichiers. Dans cet exemple, mes partitions / et /usr sont du type ext2fs, j'utilise /proc, et il y a une disquette mont�e avec le syst�me de fichiers MS-DOS (beuurrrk !).

Essayez "cat /proc/filesystems" si vous avez /proc. Cela vous donnera la liste des syst�mes de fichiers que votre noyau g�re.

Le support de syst�mes de fichiers rarement utilis�s et qui ne sont pas absolument n�cessaires peut augmenter la taille du noyau. Voir la section sur les modules chargeables pour r�soudre ce probl�me, ainsi que la section sur les pi�ges.

Character devices

(P�riph�riques caract�re) Vous trouverez ici les pilotes pour g�rer votre imprimante parall�le, souris bus, souris PS/2 (beaucoup de portables utilisent une souris constructeur de type PS/2), quelques lecteurs de bande et d'autres p�riph�riques de type "caract�re". R�pondez en cons�quence.

Note : "gpm" est un programme qui vous permet d'utiliser la souris � l'ext�rieur de X Window pour effectuer des op�rations de copier-coller entre les consoles virtuelles. C'est assez utile si vous avez une souris s�rie, car cela coexiste bien avec X Window, mais vous devrez faire quelques trucs pour que cela fonctionne avec les autres.

Sound

(Son) Si vous tenez � entendre biff aboyer, r�pondez "y", puis donnez au programme de configuration tout ce qu'il veut savoir sur votre carte son. � propos : lorsqu'il vous demande si vous voulez installer la version enti�re du pilote, vous pouvez r�pondre `n' et donc �conomiser de la m�moire en ins�rant uniquement les caract�ristiques dont vous avez besoin.

Si vous vous int�ressez de pr�s au support des cartes son, jetez un oeil sur les pilotes libres � http://www.linux.org.uk/OSS/ et au Open Sound System (commercial) � http://www.opensound.com/.

Autres options de configuration

Toutes les options de configuration ne sont pas d�taill�es dans ce document car elles changent trop souvent ou bien sont vraiment �videntes (par exemple, le support de la carte 3Com 3C509 permet la compilation du pilote de cette carte). L'aide en ligne fournit une liste assez compl�te de ces options (plus une mani�re de les ins�rer dans le script Configure) mise � jour par Axel Boldt (boldt@math.ucsb.edu). La liste est dans le fichier Documentation/Configure.help des sources du noyau depuis la version 2.0.

Kernel hacking

Extrait du README de Linus :

La configuration "kernel hacking" provoque g�n�ralement un noyau plus gros ou plus lent (ou les deux), et peut m�me rendre le noyau moins stable en configurant quelques routines pour essayer de chercher les d�fauts du code, pour trouver les probl�mes du noyau (kmalloc()). Donc, vous devrez r�pondre "n" � cette question si vous cr�ez un noyau pour un syst�me s�r.

3.4 Gar�on, la suite ! (Le Makefile)

Quand la configuration est termin�e, un message vous indique que le noyau est configur�, et qu'il faut "regarder le Makefile g�n�ral pour des configurations suppl�mentaires", etc.

Donc, jetez un coup d'oeil au Makefile. Vous ne changerez probablement rien, mais �a ne peut pas vous faire de mal ! Vous pourrez �galement changer les options avec la commande "rdev" quand le noyau sera pr�t. Si vous ne comprenez rien � ce fichier, passez � la suite.

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

5. Mettre � jour le noyau

5.1 Appliquer un patch

Les nouvelles versions du noyau sont distribu�es sous la forme de patches. Par exemple, si vous poss�dez la version 1.1.45, et que vous remarquez qu'il existe un "patch46.gz", cela signifie que vous pouvez passer � la version 1.1.46 en appliquant ce patch. Vous devriez faire avant une sauvegarde de votre arborescence des sources du noyau ("make clean" puis "cd /usr/src; tar zcf old-tree.tar.gz linux" va produire une archive compress�e).

Poursuivons avec cet exemple et supposons que vous ayez mis le fichier "patch46.gz" dans /usr/src. Allez dans /usr/src et faites un "zcat patch46.gz | patch -p0" (ou "patch -p0 < patch46" si le patch n'est pas compress�). Vous verrez alors une liste de messages vous indiquant les essais de modifications. Cela marche ou pas (en principe oui !). G�n�ralement, cela va trop vite pour lire, et on ne sait pas trop si �a a march�. Vous pouvez utiliser l'option -s de patch qui lui indique qu'il ne doit afficher que les erreurs (vous n'avez pas grand chose � faire des "h�h�, mon ordinateur est en train de faire quelque chose...!"). Pour v�rifier que tout s'est pass� sans encombre, allez dans /usr/src/linux et cherchez les fichiers ayant pour extension .rej. Quelques versions de patch (vieilles versions) utilisent # pour les fichiers rejet�s. Vous pouvez utiliser "find" pour les trouver :

        find .  -name '*.rej' -print
vous en donnera la liste avec le chemin pour y acc�der.

Si tout a march�, faites un "make clean", "config," et "dep" comme d�crit dans les sections 3 et 4.

La commande patch poss�de quelques options. Comme indiqu� ci-dessus, patch -s supprime tous les messages sauf les erreurs. Si vous stockez les sources de votre noyau dans un autre r�pertoire que /usr/src/linux, un patch -p1 dans ce r�pertoire fera les choses proprement. Les autres options sont bien document�es dans les pages de manuel.

5.2 Si quelque chose ne fonctionne pas

(Note : cette section traite plut�t des noyaux assez anciens)

Le probl�me le plus fr�quent qui se pr�sentait �tait lorsqu'un patch modifiait le fichier "config.in" et que vous aviez chang� les options pour mieux coller � votre machine. En principe, �a ne devrait plus trop se produire, mais avec les anciennes versions... Pour r�soudre ce probl�me, jetez un coup d'oeil au fichier config.in.rej et regardez son contenu. Le changement sera indiqu� par "+" et "-" au d�but d'une ligne. Regardez ces lignes et retenez si elles sont marqu�es "y" ou "n". Maintenant, �ditez config.in, et changez les "y" en "n" et les "n" en "y" lorsque cela est n�cessaire. Faites un

        patch -p0 < config.in.rej
et si cela fonctionne ("no fails"), alors vous pouvez continuer avec la configuration et la compilation. Le fichier config.in.rej restera, mais vous pouvez le d�truire.

Si vous avez d'autres probl�mes, vous avez peut-�tre install� un patch d�fectueux. Si la commande patch indique "previously applied patch detected: Assume -R?", vous �tes probablement en train d'appliquer un patch d�j� appliqu�. Si vous r�pondez "y", cela risque de d�truire votre source et il vous faudra r�cup�rer un source complet (vous auriez peut-�tre d� commencer par l�).

Pour revenir en arri�re (d�patcher), faites un "patch -R" sur le patch original.

La meilleure chose � faire lorsqu'un patch d�truit tout est de repartir d'un noyau initial tout neuf ! (par exemple, � partir du fichier linux-x.y.z.tar.gz).

5.3 Comment se d�barasser des fichiers .orig ?

Apr�s avoir appliqu� quelques patches, les fichiers .orig vont commencer � s'empiler. Par exemple, j'en �tais � la version 1.1.51 et la derni�re fois que j'avais fait le m�nage, c'�tait avec la version 1.1.48 (je crois...). D�truire les fichiers .orig a permis de r�cup�rer plus d'un demi M�ga octets.

        find .  -name '*.orig' -exec rm -f {} ';'
fera cela pour vous. Quelques versions de patch qui utilisent # pour les rejets utilisent un tilde � la place de .orig.

Il y a d'autres mani�res (meilleures ?) pour se d�barrasser des fichiers .orig en utilisant le programme GNU xargs :

        find .  -name '*.orig' | xargs rm
ou la m�thode s�re mais un peu plus verbeuse :
        find . -name '*.orig' -print0 | xargs --null rm --

5.4 Autres patches

Il y a d'autres patches (je les appellerai "non-standards") que ceux distribu�s par Linus. Si vous les appliquez, les patches Linus risquent de ne plus marcher correctement et vous serez oblig� soit de les enlever, soit d'adapter les patches. C'est g�n�ralement un travail assez p�nible pour les novices, aussi revenir aux anciennes sources avant d'appliquer les patches de Linux semble �tre une bonne solution. Apr�s, vous pouvez regarder si les patches non standards fonctionnent. S'ils ne fonctionnent pas, vous pouvez revenir � l'ancienne version, ou essayer de modifier le patch pour le faire fonctionner, ou encore attendre qu'un nouveau patch arrive.

Vous entendrez probablement parler de ces patches non standards. J'utilisais le patch "noblink" car j'ai horreur des curseurs qui clignotent (ce patch est (ou bien �tait) mis � jour fr�quemment pour les nouveaux noyaux). Les pilotes de p�riph�riques �tant de plus d�velopp�s sous la forme de modules chargeables, le nombre de patches "non standards" d�cro�t.

6. Paquetages suppl�mentaires

Votre noyau Linux a bon nombre de caract�ristiques qui ne sont pas expliqu�es dans le noyau lui-m�me ; elles sont typiquement utilis�es par des paquetages externes. Une liste des plus utiles est donn�e ici.

6.1 kbd

La console de Linux poss�de de nombreuses caract�ristiques. Elle peut changer les polices de caract�res, remapper le clavier, permuter les modes vid�os (dans les noyaux les plus r�cents), etc. Le package kbd poss�de des programmes qui permettent � l'utilisateur de faire tout cela, plus une tonne de fontes et de types de claviers. (NdT : fr.map pour le clavier fran�ais). Il est disponible sur les m�mes sites qui proposent les sources du noyau.

6.2 util-linux

Rik Faith (faith@cs.unc.edu) a rassembl� une grande quantit� d'outils Linux dans le paquetage util-linux. Ils est d�sormais maintenu par Andries Brouwer (util-linux@math.uio.no). Disponible via ftp anonyme sur sunsite.unc.edu dans /pub/Linux/system/misc, il contient des programmes tels que setterm, rdev, et ctrlaltdel, qui concernent le noyau. Comme le dit Rik, n'installez pas sans r�fl�chir, vous n'avez pas besoin de tout installer dans la distribution, et cela pourrait vous causer de graves ennuis.

6.3 hdparm

Comme beaucoup de paquetages, c'�tait au d�part un patch pour le noyau et un ensemble de programmes. Le patch a �t� int�gr� dans le noyau standard et les programmes pour optimiser et jouer avec vos disques sont distribu�s s�par�ment.

6.4 gpm

gpm est un gestionnaire de souris. Ce programme vous permet d'effectuer du couper-coller en mode texte entre les consoles virtuelles ainsi que d'autres op�rations avec un grand nombre de types de souris.

7. Quelques pi�ges

7.1 make clean

Si votre noyau a un comportement surnaturel (�a m'est arriv� !), il y a des chances pour que vous ayez oubli� de faire un "make clean". Les sympt�mes peuvent �tre un plantage de votre syst�me, des probl�mes d'entr�es-sorties �tranges, une chute des performances, des reboot al�atoires... V�rifiez que vous avez �galement fait un make dep.

7.2 Noyaux �normes ou lents

Si votre noyau consomme beaucoup de m�moire, ou s'il est r�ellement gros, ou bien s'il faut une �ternit� pour le compiler m�me lorsque vous utilisez votre nouveau 986DX6/440, c'est que vous avez configur� un tas de choses (pilotes de p�riph�riques, syst�mes de fichiers) dont vous n'avez pas besoin. Si vous ne les utilisez pas, ne les configurez pas car cela prend beaucoup de place en m�moire. Le sympt�me le plus visible est l'augmentation sensible du fonctionnement du swap. Si votre disque fait beaucoup de bruit, et qu'il ne s'agit pas d'un de ces vieux disques Fujitsu Eagles qui font le bruit d'un avion lors de son atterrissage lorsque vous l'�teignez, jetez un coup d'oeil � votre configuration.

Vous pouvez calculer la taille m�moire que le noyau utilise en prenant la m�moire totale de votre machine et en soustrayant la valeur de la m�moire totale ("total mem") dans /proc/meminfo ou bien avec la commande "free".

7.3 Le port parall�le ne fonctionne pas/mon imprimante ne fonctionne pas

Les options de configuration pour les PC sont : premi�rement, dans la cat�gorie "General Setup" s�lectionnez "Parallel port support" et "PC-style hardware". Puis dans "Character devices", s�lectionnez "Parallel printer support".

Il y a ensuite le probl�me des noms de p�riph�rique des imprimantes qui ont chang� dans Linux 2.2. Si vous aviez une imprimante lp1 avec votre noyau pr�c�dent, elle s'appelle probablement lp0 maintenant. Utilisez "dmesg" ou cherchez dans les logs dans /var/log pour le v�rifier.

7.4 Le noyau ne compile pas

Si cela ne compile pas, alors un patch a probablement �chou�, ou bien vous poss�dez des sources corrompus. Votre version de gcc peut �galement ne pas �tre correcte, ou bien endommag�e (par exemple les fichiers d'include peuvent �tre faux). Soyez s�r que les liens que Linus d�crit dans le fichier README sont corrects. En g�n�ral, si un noyau standard ne compile pas, c'est qu'un truc ne tourne pas rond dans le syst�me, et il est plus que probable que certains outils doivent �tre reinstall�s.

Dans des cas relativement rares, gcc peut �chouer en raison de probl�mes de mat�riel. Le message d'erreur ressemble � un truc assez myst�rieux "xxx exited with signal 15". Je n'en n'aurais probablement pas parl� si cela ne m'�tait arriv� une fois. J'avais un cache m�moire d�fectueux et le compilateur fonctionnait de mani�re plut�t al�atoire. Essayez dans un premier temps de reinstaller gcc si vous avez des probl�mes. Si votre noyau compile tr�s bien avec les caches externes vid�s ou une m�moire r�duite, alors vous pourrez commencer � soup�onner votre mat�riel.

Certaines personnes ont tendance � ne pas aimer que je mette en doute leur mat�riel. Je n'invente rien. Il existe une FAQ d�di�e � ce sujet : http://www.bitwizard.nl/sig11/ (NdT : traduite en fran�ais � http://www.linux-france.org/article/sig11-fr/sig11-fr.html).

7.5 La nouvelle version du noyau ne boote plus !

Soit LILO ne fonctionne pas, soit il n'est pas configur� correctement. Une fois, un probl�me dans le fichier de configuration m'a pos� pas mal de soucis : j'avais mis "boot = /dev/hda1" � la place de "boot = /dev/hda" (ce genre d'erreurs n'est pas facile � trouver, mais une fois que vous avez un fichier de configuration qui fonctionne, il n'y a pas de raison d'y toucher).

7.6 Vous avez oubli� de lancer LILO, ou le syst�me ne boote plus du tout

Argh ! La meilleure chose � faire est de booter � partir d'une disquette et de pr�parer une nouvelle disquette de boot ("make zdisk" fait cela tr�s bien). Vous avez besoin de savoir où votre partition racine (/) se trouve et quel est son type (ext2fs, minix, etc). Dans l'exemple ci-dessous, vous aurez �galement besoin de conna�tre la partition des sources du noyau (/usr/src/linux), et où elle est mont�e.

Dans cet exemple,la racine / est /dev/hda1, la partition qui supporte /usr/src/linux est /dev/hda3, normalement mont�e sur /usr. Toutes les deux ont un syst�me de fichiers de type ext2fs. L'image du noyau se trouve dans /usr/src/linux/arch/i386/boot/ et elle s'appelle bzImage.

L'id�e est que s'il existe un noyau bzImage qui fonctionne il est possible de l'utiliser pour la nouvelle disquette. Une autre possibilit� qui peut �tre meilleure ou pas est pr�sent�e apr�s cet exemple (cela d�pend de la fa�on dont vous avez plant� votre syst�me).

Commencez par booter � partir d'une disquette d'installation (boot/root) ou d'une disquette de secours et montez la partition où se trouve le noyau en �tat de marche :

        mkdir /mnt
        mount -t ext2 /dev/hda3 /mnt

Si mkdir vous annonce que le r�pertoire existe, ignorez le message. Maintenant, allez dans le r�pertoire o� se trouve le noyau en �tat de marche. Notez que

/mnt + /usr/src/linux/arch/i386/boot - /usr = /mnt/src/linux/arch/i386/boot
Ins�rez une disquette format�e dans le lecteur "A:" (v�rifiez qu'il ne s'agit pas de la disquette boot ou root !), faites une copie de l'image sur le disque et configurez votre partition racine :

cd /mnt/src/linux/arch/i386/boot
dd if=bzImage of=/dev/fd0
rdev /dev/fd0 /dev/hda1

Allez � la racine /, et d�montez la partition /usr :

cd /
umount /mnt

Maintenant, vous devriez �tre capable de rebooter votre syst�me normalement � partir de cette disquette. N'oubliez pas de lancer lilo (ou ce que vous aviez oubli�) avant de rebooter !

Comme mentionn� ci-dessus, il y a une autre mani�re tr�s pratique. S'il se trouve que vous avez un noyau op�rationnel dans / (/vmlinuz par exemple), on peut s'en servir. Supposons que vous remplissiez les conditions ci-dessus, et que votre noyau s'appelle /vmlinuz, faites comme ci-dessus en changeant /dev/hda3 en /dev/hda1 (la partition /), /mnt/src/linux en /mnt, et if=bzImage en if=vmlinuz. La petite note expliquant comment aller dans /mnt/src/linux peut �tre oubli�e.

Utiliser LILO avec de gros disques (avec un nombre de cyclindres sup�rieur � 1024) peut poser des probl�mes. Consultez le mini-Howto LILO ou la documentation.

7.7 Il me dit "warning: bdflush not running"

Cela peut �tre un probl�me assez grave. Avec les noyaux ayant une version sup�rieure � 1.0 (aux alentours du 20 avril 1994), le programme "update" qui vide p�riodiquement les tampons disque a �t� remplac� par "bdflush". R�cup�rez les sources de "bdflush" (vous pouvez les r�cup�rer l� où vous avez trouv� votre noyau), et compilez-le (il vaut mieux fonctionner avec un ancien noyau pendant la compilation et pendant l'installation). Il s'installera tout seul comme "update" et le nouveau noyau devrait ensuite fonctionner correctement.

7.8 Je n'arrive pas � faire marcher mon CD-ROM IDE/ATAPI

Aussi �trange que cela puisse para�tre, beaucoup de gens n'arrivent pas � faire fonctionner leurs disques ATAPI, tout simplement parce qu'il y a un bon nombre de probl�mes potentiels.

Si votre CD-ROM est le seul disque d'une interface IDE particuli�re il doit �tre configur� en "ma�tre (master)" ou "seul (single)". C'est l'erreur la plus fr�quemment rencontr�e.

Creative Labs (par exemple) a mis des interfaces IDE sur ses cartes sons. Toutefois, cela pose un probl�me pour les gens qui ont d�j� deux interfaces IDE sur leur carte m�re (IRQ15 g�n�ralement). Une pratique commune est de faire de l'interface soundblaster un troisi�me port IDE (IRQ11 je pense).

Cela pose un probl�me avec Linux car les versions 1.2.x ne supportent pas une troisi�me interface IDE (cela est g�r� avec les versions 1.3.x mais ce sont des versions de d�veloppement, et la troisi�me interface n'est pas d�tect�e automatiquement). Pour r�soudre ce probl�me, vous avez plusieurs possibilit�s.

Si avez d�j� un deuxi�me port IDE, il y a des chances pour que vous ne l'utilisiez pas ou qu'il n'ait pas deux p�riph�riques connect�s. D�sactivez l'interface ATAPI de la carte son (vous �conomisez un IRQ) et connectez le disque sur votre seconde interface.

Si vous n'avez pas une seconde interface, mettez interface IDE (pas la partie son) de la carte son sur l'IRQ 15. Cela devrait fonctionner.

7.9 Le noyau me dit des insanit�s � propos de requ�tes obsol�tes !

R�cup�rez des versions r�centes du progamme route et de tous les autres programmes manipulant les routes : /usr/include/linux/route.h (qui est en fait un fichier dans /usr/src/linux) a chang�.

7.10 Le Firewall ne fonctionne pas dans la version 1.2.0

Passez � la version 1.2.1.

7.11 Ce n'est pas une image noyau compress�e !

N'utilisez pas le fichier vmlinux cr�� dans /usr/src/linux comme image de boot mais [..]/arch/i386/boot/bzImage.

7.12 Probl�mes avec la console apr�s mise � jour � la version 1.3.x

Changez le mot dumb en linux dans l'entr�e console du fichier /etc/termcap. Il faudra peut-�tre aussi ajouter une entr�e terminfo.

7.13 Le noyau ne semble pas pouvoir compiler apr�s une mise � jour

Le source du noyau contient un certain nombre de fichiers d'en-t�tes (les fichiers se terminant par .h) qui se trouvent dans le r�pertoire /usr/include. Ils sont r�f�renc�s ainsi (o� xyzzy.h doit �tre dans /usr/include/linux) :

    #include <linux/xyzzy.h>
Normalement, il y a un lien appel� linux dans /usr/include sur le r�pertoire include/linux de la racine des sources du noyau (/usr/src/linux/include/linux dans un syst�me standard). Si ce lien n'existe pas, ou bien pointe au mauvais endroit, bon nombre de programmes ne compileront pas. Si vous d�cidez que les sources du noyau prennent trop de place sur votre disque et que vous les d�truisez, cela sera un probl�me. Un autre probl�me qui peut arriver, c'est avec les permissions d'acc�s aux fichiers. Si votre root a un umask qui n'autorise pas les autres utilisateurs � voir ses fichiers par d�faut, et que vous d�sarchiviez les sources du noyau sans l'option p (conserve le mode), les utilisateurs ne pourront pas utiliser le compilateur C. Vous pouvez alors utiliser la commande chmod pour r�soudre le probl�me mais il est probablement plus facile de r�installer les fichiers include. Vous pouvez proc�der de la m�me mani�re que lors de l'installation des sources au d�but, en ajoutant un argument pour n'extraire que les includes :
    blah# tar zxvpf linux.x.y.z.tar.gz linux/include
Notez que "make config" va recr�er le lien /usr/src/linux s'il n'existe pas.

7.14 Augmenter les limites

Ces quelques exemples de commandes peuvent �tre assez utiles � ceux qui se demandent comment augmenter certaines limites logicielles impos�es par le noyau :

 echo 4096 > /proc/sys/kernel/file-max
 echo 12288 > /proc/sys/kernel/inode-max
 echo 300 400 500 > /proc/sys/vm/freepages

8. Note concernant la mise � jour pour les noyaux 2.0.x, 2.2.x

Les noyaux 2.0.x et 2.2.x ont introduit pas mal de modifications dans l'installation du noyau. Le fichier Documentation/Changes situ� dans l'arborescence des sources 2.0.x contient des informations que vous devez conna�tre lorsque vous effectuez la mise � jour de votre syst�me. Il est fort probable que vous deviez mettre � jour plusieurs paquetages tels que gcc, libc et SysVInit ainsi que quelques fichiers syst�mes. Mais ne paniquez pas !

9. Modules

Les modules chargeables du noyau peuvent faire �conomiser de la m�moire et faciliter la configuration. L'utilisation des modules s'est accrue jusqu'� inclure les syst�mes de fichiers, les pilotes de cartes ethernet, de lecteurs de cartouches, d'imprimantes, etc.

9.1 Installer les utilitaires pour g�rer les modules

Ces utilitaires sont disponibles sur n'importe quel site où vous avez r�cup�r� les sources du noyau : modutils-x.y.z.tar.gz; choisissez la derni�re version x.y.z qui est �gale ou inf�rieure � votre version du noyau. Installez-le avec `tar zxvf modutils-x.y.z.tar.gz', cd dans le r�pertoire cr�� (modutils-x.y.z), regardez le fichier README, et suivez les instructions d'installation (qui sont en g�n�ral tr�s simples, du genre, faites make install). Vous devriez avoir maintenant les programmes insmod, rmmod, ksyms, lsmod, genksyms, modprobe, et depmod dans /sbin. Vous pouvez les tester avec le pilote exemple "hw" dans insmod ; regardez le fichier INSTALL dans ce sous-r�pertoire pour les d�tails.

insmod ins�re un module dans le noyau en cours d'ex�cution. Les modules ont g�n�ralement une extension .o. Le pilote exemple est appel� drv_hello.o, donc, pour l'ins�rer, insmod drv_hello.o'. Pour voir les modules que le noyau utilise actuellement, lancer lsmod. Il devrait alors afficher :

blah# lsmod
Module:        #pages:  Used by:
drv_hello          1
`drv_hello' est le nom du module, il utilise une page m�moire (4ko), et aucun autre module du noyau ne d�pend actuellement de lui. Pour le retirer, lancez `rmmod drv_hello'. Notez que rmmod prend comme argument le nom du module, (celui donn� par lsmod) pas un nom de fichier. Les autres programmes de gestion des modules sont document�s (pages de manuel).

9.2 Modules distribu�s avec le noyau

Avec la version 2.0.30, presque tout est disponible sous forme de modules chargeables. Pour les utiliser, soyez s�r que vous ne les ins�rez pas dans la configuration du noyau. Pour cela, ne r�pondez pas y pendant le `make config'.

Compilez un nouveau noyau et bootez avec. Puis, cd dans /usr/src/linux � nouveau, et faites un `make modules'. Cela va compiler tous les modules que vous n'avez pas sp�cifi�s dans le noyau et installer les liens dans /usr/src/linux/modules. Vous pouvez alors les utiliser depuis ce r�pertoire ou faire `make modules_install' qui les installera dans /lib/modules/x.y.z, ou x.y.z est le num�ro de version du noyau.

Cela peut �tre particuli�rement utile pour les syst�mes de fichiers. Vous n'utilisez peut-�tre pas fr�quemment les syst�mes de fichiers minix ou msdos. Par exemple, si je rencontre une disquette msdos (beuh), je devrai faire un insmod /usr/src/linux/modules/msdos.o, puis rmmod msdos lorsque j'aurai termin�, Cette fa�on de proc�der �conomise pr�s de 50 ko de RAM dans l'utilisation du noyau. Remarque sur le syst�me de fichiers minix : il est tr�s fortement conseill� de toujours le configurer directement dans le noyau pour l'utilisation en disques de secours.

10. Trucs et astuces

10.1 Rediriger la sortie standard des commandes make ou patch

Si vous voulez voir ce que font les commandes "make" ou "patch", vous pouvez rediriger les messages. Regardez d'abord quel shell vous utilisez. "grep root /etc/passwd" et cherchez quelque chose comme "/bin/csh".

Si vous utilisez sh ou bash,

        (commande) 2>&1 | tee  (Fichier de sortie)
placera une copie de la sortie dans le fichier (Fichier de sortie).

Pour csh ou tcsh, la syntaxe est :

(commande) |& tee (Fichier de sortie).

Pour rc (note : vous n'utilisez probablement pas rc) c'est :

        (commande) > [2=1]| tee (Fichier de sortie).

10.2 Installations diverses du noyau

En plus des disquettes, d'autres m�thodes existent pour tester un nouveau noyau sans d�truire les pr�c�dents. � la diff�rence d'autres syst�mes Unix, LILO est capable de booter sur un noyau situ� n'importe où sur le disque (si vous avez un gros disque (500 Mo ou plus) lisez la documentation de LILO car cela risque de poser quelques probl�mes). Donc, ajoutez cela :

    image = /usr/src/linux/arch/i386/boot/bzImage
    label = nouveau_noyau

� la fin de votre fichier de configuration LILO, vous pouvez alors choisir de booter sur le nouveau noyau sans avoir � d�truire l'ancien /vmlinuz (apr�s avoir lanc� lilo, bien s�r). La mani�re la plus simple d'indiquer � LILO qu'il doit booter sur un nouveau noyau est de presser la touche shift au boot (lorsqu'il vous indique LILO) ce qui vous donne un prompt. � ce moment, tapez `nouveau_noyau' pour qu'il boote sur le nouveau noyau.

Si vous d�sirez conserver plusieurs sources du noyau (cela peut prendre beaucoup de place ; faites attention), la mani�re la plus simple est de le nommer : /usr/src/linux-x.y.z, ou x.y.z est la version du noyau. Vous pouvez alors choisir le source � utiliser en faisant un lien symbolique ; par exemple, `ln -sf linux-1.2.2 /usr/src/linux' indiquera la version 1.2.2 comme version courante. Avant de cr�er ce type de lien symbolique, soyez certain que le dernier argument de ln n'est pas un r�pertoire existant. Le r�sultat ne serait pas celui que vous esp�riez.

10.3 Mises � jour des noyaux

Russell Nelson (nelson@crynwr.com) fait des r�sum�s des changements dans les nouvelles versions du noyau. Ils sont courts et vous devriez les regarder avant de r�aliser la mise � jour. Ils sont disponibles par ftp anonyme � ftp.emlist.com dans pub/kchanges ou via WEB http://www.crynwr.com/kchanges.

11. D'autres HOWTO qui peuvent �tre utiles

12. Divers

12.1 Auteur

L'auteur du Kernel-HOWTO Linux est Brian Ward (bri@cs.uchicago.edu). S'il vous pla�t, envoyez-moi des commentaires, corrections, rajouts. Les corrections sont en particulier tr�s importantes.

Vous pouvez jeter un coup d'oeil � ma page web ici ou l�.

Bien que j'essaye d'�tre attentif � mon courrier, rappelez-vous que j'en ai beaucoup tous les jours, donc �a peut prendre un petit peu de temps pour vous r�pondre. Si le mail est une question, essayez d'�tre le plus clair et d�taill� possible. Si vous m'�crivez � propos de mat�riel qui ne fonctionne pas (ou quelques chose du genre), j'ai besoin de savoir quelle est votre configuration mat�rielle. Si vous reportez une erreur, ne vous limitez pas � "J'ai essay� ceci et �a n'a pas march�", j'ai besoin de savoir quelle �tait l'erreur, et quelles versions du noyau, de gcc et de la libc vous utilisez. Me donner le nom de la distribution n'est pas suffisant. Ne craignez pas de poser des questions simples, si vous ne demandez pas vous n'aurez pas de r�ponse ! Merci � tous ceux qui m'ont envoy� des commentaires.

Si votre question ne concerne pas le noyau ou est �crite dans un langage que je ne comprends pas, il se peut que je ne r�ponde pas.

Si vous m'�crivez et que vous n'obtenez aucune r�ponse dans un temps raisonable (trois semaines ou plus), il y a des chances que j'ai accidentellement d�truit votre message (d�sol�). R��ssayez.

J'ai beaucoup de mail sur des probl�mes et questions de mat�riel. Ce n'est pas un probl�me mais merci de noter que que je ne suis pas familier avec tout le mat�riel du monde. J'utilise des processeurs AMD, des controlleurs SCSI Adaptec et Symbios et des disques SCSI IBM.

La version 0.1 de ce document a �t� �crite le 3 octobre 1994. Il est disponible aux formats SGML, PostScript, TeX, roff et texte.

12.2 Reste � faire

Le paragraphe "Trucs et astuces" est un peu court. J'esp�re l'�toffer avec les suggestions venant d'autres personnes. De m�me pour "Autres paquetages". Des informations suppl�mentaires pour le d�bogage/sauvetage lors de crash seraient les bienvenues.

12.3 Contributions

Une petite partie du README de Linus (cf. option kernel hacking ) est incluse. (Merci, Linus !)

Tous ceux qui m'ont envoy� des mails avec des questions et des probl�mes ont �galement �t� d'une aide pr�cieuse.

12.4 Copyright, traduction, licence et autres

Copyright © Brian Ward, 1994-1999.

Version fran�aise Copyright © Eric Dumas, 1995-1997 dumas@freenix.fr
© Christophe Deleuze, 1999

Permission is granted to make and distribute copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the derived work is distributed under the terms of a permission notice identical to this one. Translations fall under the category of ``modified versions.''

(Vous avez le droit de faire et de distribuer des copies de ce document � condition que l'avis de copyright et cet avis de permission soient pr�serv�s sur toutes les copies. Vous pouvez copier et distribuer des versions modifi�es sous les m�mes conditions pourvu que le travail d�riv� soit distribu� sous un avis de permission identique � celui-ci. Les traductions sont des "versions modifi�es").

Garantie : aucune.

Cette version fran�aise peut �tre trouv�e sur ftp.lip6.fr dans le r�pertoire /pub/linux/french/HOWTO.

La distribution commerciale est autoris�e et encourag�e ; toutefois il est fortement recommand� de contacter l'auteur avant la redistribution, dans l'int�r�t de la mise � jour des donn�es (vous pourriez aussi m'envoyer un exemplaire de ce que vous faites). Idem pour les versions traduites, contactez le traducteur. Il est conseill� aux traducteurs de contacter l'auteur avant de commencer la traduction. La version imprim�e est bien plus belle. Recyclez.