Chapitre 9. Configuration du noyau Linux

Table des matières
1. Le noyau Linux
1.1. Qu'est-ce que le noyau Linux ?
1.2. Pourquoi recompiler le noyau ?
1.3. La numérotation des noyaux
1.4. Quel noyau choisir ?
2. Se renseigner sur son matériel
2.1. Se renseigner sur son chipset et son processeur
2.2. Se renseigner sur sa carte son
2.3. Se renseigner sur son système d'économie d'énergie
3. Les préparatifs
3.1. Préparer le système
3.2. Se procurer les sources du noyau
3.3. Décompresser les sources
4. Configurer le noyau
4.1. Récupérer le fichier de configuration modèle
4.2. Lancer l'utilitaire de configuration
4.3. En dur ou en modules ?
4.4. Personnaliser la configuration
4.5. Enregistrer et quitter

1. Le noyau Linux

2. Se renseigner sur son matériel

2.2. Se renseigner sur sa carte son

La sortie de la nouvelle branche 2.6 marque l'arrivée dans le noyau de la nouvelle architecture pour la gestion du son sous Linux : ALSA (Advanced Linux Sound Architecture). Pour savoir quel driver ALSA va vous permettre de faire marcher votre carte son, regardez la page ALSA Soundcard Matrix avec un navigateur graphique :

  • les cartes sur fond blanc sont supportées par ALSA,

  • Les cartes sur fond rouge ne sont pas supportées.

Une fois que vous avez trouvé votre carte dans la liste, relevez le nom du module ALSA correspondant. Pour cela, cliquez sur Details ; le nom du module est écrit dans la première phrase (il commence toujours par le préfixe snd-).

Note

Pour les possesseurs d'un ordinateur portable, le site Linux on Laptops est aussi une très bonne source d'information pour savoir quel driver ALSA utiliser pour sa carte son, ainsi que pour tous les autres périphériques intégrés dans l'ordinateur portable.

3. Les préparatifs

3.1. Préparer le système

La plus grande partie de la procédure ne nécessite pas d'être root. Cependant, il va falloir d'abord ajouter l'utilisateur que vous êtes au groupe src. En root, tapez :


# adduser toto src

toto est votre nom d'utilisateur. Pour que le changement soit effectif, il faut que l'utilisateur se déloggue puis se reloggue.

Pour la décompression et la configuration du noyau, installez les deux packages suivants :


# apt-get install bzip2 libncurses5-dev

Par défaut, la version 3.0 alias Woody de Debian ne supporte pas les noyaux Linux de la branche 2.6. Les instructions ci-dessous vont permettre d'ajouter le support des noyaux 2.6.

Tout d'abord, ajoutez la ligne suivante à la fin du fichier /etc/fstab pour que le système de fichiers virtuel du noyau 2.6 sysfs soit monté au démarrage :


sysfs	/sys	sysfs	defaults	0	0

Vous devez également créer le répertoire dans lequel il sera monté :


# mkdir /sys

Ensuite, il faut mettre à jour le package concernant le client DHCP :


# apt-get install --purge dhcp3-client

Enfin, il faut installer le package module-init-tools et mettre à jour le package modutils :

3.2. Se procurer les sources du noyau

Maintenant que le système est prêt, vous allez repasser en simple utilisateur et télécharger les sources du noyau.

3.2.1. Si vous avez une connexion Internet rapide

Si vous avez déjà une connexion rapide à Internet qui marche, téléchargez les sources (32 Mo environ) sur un miroir du noyau Linux, par exemple le miroir de VIA ftp.via.ecp.fr ou le miroir officiel français ftp.fr.kernel.org, et mettez-les dans le répertoire /usr/src :


% wget -P /usr/src ftp://ftp.fr.kernel.org/pub/linux/kernel/v2.6/linux-2.6.4.tar.bz2

en remplaçant éventuellement ftp.fr.kernel.org par un autre miroir plus proche, et en adaptant le numéro de version.

Téléchargez également la signature cryptographique des sources, qui vous permettra par la suite de vérifier leur authenticité et leur intégrité :


% wget -P /usr/src ftp://ftp.fr.kernel.org/pub/linux/kernel/v2.6/linux-2.6.4.tar.bz2.sign

Pour vérifier l'authenticité et l'intégrité des sources du noyau (par exemple pour vérifier que les sources n'ont pas été modifiées par un pirate qui se serait introduit sur le site miroir), on va utiliser le programme GnuPG (alias GPG), qui est un équivalent libre de PGP, et qui est installé par défaut (package gnupg). Commencez par télécharger la clé publique de Linux Kernel Archives :


% gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E

Comme c'est la première fois que vous utilisez GPG, il crée le répertoire ~/.gnupg avec un fichier options, et vous demande de réexécuter la commande. Exécutez donc la même commande une deuxième fois.

Ensuite, vérifiez l'authenticité de la clé publique en comparant le fingerprint de la clé que vous avez téléchargé avec le fingerprint de la vraie clé de Linux Kernel Archives : ils doivent être strictement identiques !

Si les deux fingerprints sont identiques, alors c'est bien la vraie clé publique de Linux Kernel Archives que vous avez téléchargé dans votre trousseau de clés. Vous pouvez alors passer à la vérification des sources :


% cd /usr/src/
% gpg --verify linux-2.6.4.tar.bz2.sign linux-2.6.4.tar.bz2

Il doit normalement vous répondre que la signature est bonne (ce qui prouve l'authenticité et l'intégrité), mais que la clé n'est pas certifiée avec une signature de confiance :


gpg: Signature faite mer 04 fév 2004 05:25:43 CET avec une clé DSA ID 517D0F0E
gpg: Bonne signature de "Linux Kernel Archives Verification Key <ftpadmin@kernel.org>"
gpg: ATTENTION: Cette clé n'est pas certifiée avec une signature de confiance !
gpg:            Rien ne dit que la signature appartient à son propriétaire.
Empreinte de clé principale: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E

4. Configurer le noyau

4.3. En dur ou en modules ?

Pour ceux qui ont la mémoire courte, relisez le paragraphe Qu'est-ce qu'un module ?

Pour certaines options du noyau, vous avez le choix entre mettre l'option en dur ou en modules. Nous allons mettre un maximum de périphériques en modules... mais pas tous !

Il y a deux types d'options pour la configuration du noyau (on passe d'une option à la suivante en appuyant sur Espace) :

  • Les options entre crochets droits [  ] ; vous avez alors le choix entre mettre cette option :

    • en dur dans le noyau : vous devez faire apparaître une étoile : [*],

    • ou ne pas la mettre : la case doit rester vide : [  ].

  • Les options entre crochets fléchés <  > ; vous avez le choix entre mettre cette option :

    • en dur dans le noyau : vous devez faire apparaître une étoile : <*>,

    • en module : vous devez faire apparaître un M : <M>,

    • ou ne pas la mettre : la case doit rester vide : <  >.

4.4. Personnaliser la configuration

4.4.2. Le système d'économie d'énergie

Menu : Power management options (ACPI, APM)

Si vous voulez utiliser un système d'économie d'énergie, suivez les instructions ci-dessous :

De plus, si vous avez un ordinateur portable doté de la capacité de faire varier la fréquence du processeur selon le contexte pour économiser de l'énergie, allez dans le sous-menu CPU Frequency scaling et activez :


[*] CPU Frequency scaling
      Default CPUFreq governor (performance)  --->
---   'performance' governor
<*>   powersave' governor
<*>  'userspace' governor for userspace frequency scaling
<*>   CPU frequency table helpers (NEW)

Puis, dans la section CPUFreq processor drivers, activez le pilote spécifique à votre processeur (n'hésitez pas à utiliser l'aide pour faire le bon choix !).

Note

Exemple : si vous avez un portable doté d'un Pentium 4 M et d'un southbridge ICH, activez :


<*>  Intel Speedstep on ICH-M chipsets (ioport interface)

4.4.3. Le chipset

Menu : Device Drivers > ATA/ATAPI/MFM/RLL support

Dans la section IDE chipset support/bugfixes de ce menu, mettez en dur l'option correspondant à votre chipset.

Note

Exemples :

  • Si vous avez un chipset Intel (quel que soit son modèle), activez :

    
<*>     Intel PIIXn chipsets support
    
  • Si vous avez un chipset VIA (quel que soit son modèle), activez :

    
<*>     VIA82CXXX chipset support
    
  • Si vous avez un chipset Nvidia ou AMD (quel que soit le modèle), activez :

    
<*>     AMD and nVidia IDE support
    

4.4.4. Carte SCSI

Menu : Device Drivers > SCSI device support > SCSI low-level drivers

Si vous avez une carte SCSI, activez le pilote de votre carte SCSI en module.

Note

Exemple : si vous avez une carte SCSI Adaptec Ultra 320 PCI, activez :


<M>  Adaptec AIC79xx U320 support

Avertissement

Si votre partition racine est sur un disque dur SCSI, alors il faut obligatoirement mettre le support des disques SCSI et de la carte SCSI en dur dans le noyau et non en module. En effet, au démarrage, le système devra être capable de lire la partition du disque SCSI pour pouvoir charger les modules qui se trouvent sur la partition racine !

Si vous êtes dans cette situation, il faudra donc activer en dur les options suivantes dans le menu Device Drivers > SCSI device support :


<*>  SCSI device support
<*>  SCSI disk support

et dans le sous-menu SCSI low-level drivers, il faudra également mettre en dur le pilote de votre carte SCSI ; par exemple, dans le cas d'une carte SCSI Adaptec Ultra 320 PCI :


<*>  Adaptec AIC79xx U320 support

Cette remarque vaut également pour le système de fichiers Ext3 ainsi que pour les disques dur IDE si votre partition racine se trouve sur un disque IDE. Comme c'est le cas le plus courant, j'ai activé le support des disques IDE et de l'Ext3 en dur dans mon fichier de configuration type.

4.4.5. Carte son

Menu : Device Drivers > Sound > Advanced Linux Sound Architecture

Activez en module le pilote correspondant à votre carte son. Les pilotes sont répartis en deux catégories :

Note

Exemples :

  • Si vous avez une carte Sound Blaster 128 PCI, allez dans le sous-menu PCI devices et activez :

    
<M> (Creative) Ensoniq AudioPCI 1371/1373
    
  • Si vous avez une carte son intégrée sur une carte mère basée sur un chipset Nvidia Nforce, allez dans le sous-menu PCI devices et activez :

    
<M> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111
    

4.4.6. Port AGP

Menu : Device Drivers > Character devices

Activez en dur le support du bus AGP ainsi que l'option correspondant à votre chipset.

Note

Exemples :

  • Si vous avez un chipset Intel (quel que soit son modèle), activez :

    
<*>  /dev/agpgart (AGP Support)
    <*>    Intel 440LX/BX/GX, I8xx and E7x05 chipset support
    
  • Si vous avez un chipset VIA (quel que soit son modèle), activez :

    
<*>  /dev/agpgart (AGP Support)
    <*>    VIA chipset support
    
  • Si vous avez un chipset nVvidia nForce (quel que soit son modèle), activez :

    
<*>  /dev/agpgart (AGP Support)
    <*>    NVIDIA nForce/nForce2 chipset support
    

4.4.7. Accélération 3D de la carte graphique

Menu : Device Drivers > Character devices

Activez le support du DRM (Direct Rendering Manager) et le module correspondant à votre chip graphique.

Note

Exemples :

  • Si vous avez une carte ATI Radeon (quel que soit son modèle), activez :

    
[*]  Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
    <M>    ATI Radeon
    
  • Si vous avez une carte 3Dfx (quel que soit son modèle), activez :

    
[*]  Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
    <M>    3dfx Banshee/Voodoo3+
    
  • Si vous avez une carte nVidia, vous pouvez également tirer parti de ses accélérations 3D mais par un autre moyen, qui sera expliqué au chapitre Installer le serveur graphique.

4.4.8. Carte(s) réseau Ethernet

Menu : Device Drivers > Networking support

Activez en module le ou les pilote(s) correspondant à votre/vos carte(s) réseau Ethernet. Les pilotes sont répartis en plusieurs catégories :

Note

Exemples :

  • Si vous avez une carte PCI 3Com 3C905, allez dans le sous-menu Ethernet (10 or 100Mbit) et activez :

    
[*] 3COM cards
    <M>   3c590/3c900 series (592/595/597) "Vortex/Boomerang" support
    
  • Si vous avez une carte réseau Intel 100 Mbit/s intégrée sur votre carte mère ou dans votre ordinateur portable, allez dans le sous-menu Ethernet (10 or 100Mbit) et activez :

    
[*] EISA, VLB, PCI and on board controllers
    <M>   EtherExpressPro/100 support (e100, Alternate Intel driver)
    
  • Si vous avez une carte PCMCIA WiFi de marque Cisco ou Aironet, allez dans le sous-menu Wireless LAN (non-hamradio) et activez :

    
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
    <M>   Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards
    
  • Si vous avez une carte Ethernet PCMCIA 10/100 Mbit/s compatible NE2000, allez dans le sous-menu PCMCIA network device support et activez :

    
[*] PCMCIA network device support
    <M>   NE2000 compatible PCMCIA support (NEW)
    

4.4.9. Périphériques USB

Menu : Device Drivers > USB support

Si vous avez un périphérique USB que vous aimeriez faire marcher sous Linux, essayez de trouver un pilote pour ce périphérique dans la liste des pilotes proposés.

Attention

Dans la configuration type, j'ai déjà mis le support des souris, claviers, imprimantes et clés USB. N'enlevez pas les options déjà activées si vous ne savez pas parfaitement ce que vous faites !

Note

Exemple : si vous avez un modem ADSL Speedtouch USB, activez :


<M>  Alcatel Speedtouch USB support