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

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


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