Table des matières

Configuration du noyau

Ce tutoriel s'adresse à des gens qui veulent tout simplement découvrir ce qui se passe sous le capot.

Introduction

Ce document a pour but de vous fournir différentes recettes pour configurer le noyau. Grâce à des commandes de base telles lspci, lsusb et autres ainsi qu'avec l'aide d'outils un peu plus sophistiqués, par exemple hwinfo, vous découvrirez comment configurer votre matériel au noyau.

Le tutoriel passe en revue chaque section du fichier de configuration du noyau. Il ne couvre pas seulement les périphériques. Il traite également du processeur, des systèmes de fichiers et autres éléments essentiels à l'exécution du noyau.

Le guide fournit des exemples sur la configuration des options du noyau. Il faut les adapter à votre environnement matériel. Ce ne sont pas tous les PC qui ont les mêmes types de matériel et périphériques.

Vue d'ensemble des outils

Vous trouvez dans cette section une liste d'outils et une brève description de ceux-ci à utiliser pour personnaliser le noyau en fonction de la configuration matérielle de votre machine.

Outils d'aide à la configuration

Des applications précises de chaque outil présenté ici sont documentées dans la section Préparation à la configuration.

hwinfo

Installé par le paquet hwinfo, cet utilitaire explore tous les composants matériels d'un ordinateur. Cette commande est une alternative à lshw.

ifconfig

Outil fourni par le paquet net-tools, ifconfig sert à configurer le réseau. En l'utilisant conjointement avec hwinfo, cette commande permet de facilement trouver un pilote d'une carte réseau.

lscpu

Le paquet utils-linux installe plusieurs utilitaires dont la commande lscpu. Elle affiche des informations sur l'architecture du processeur. Elle collecte ces renseignements à partir du fichier /proc/cpuinfo.

lshw

lshw est un outil donnant beaucoup de détails sur la configuration matérielle de la machine. Le paquet du même nom installe cet utilitaire.

lsmod

lsmod, commande installée par le paquet kmod, affiche le statut des modules tout en produisant une liste des modules actuellement chargés.

lspci

La commande lspci fournie par le paquet pciutils renseigne sur les périphériques connectés aux ports PCI.

lsusb

La commande lsusb fournie par le paquet usbutils donne de l'information sur les périphériques connectés sur les ports USB.

Outil de configuration

Le tutoriel sur la compilation du noyau traite du module menuconfig de la commande make pour configurer le noyau. Ce tutoriel fait plutôt appel à la variante nconfig.

Menu d'accueil de nconfig

  1. Fenêtre principale;
  2. F1, pour de l'aide sur l'utilisation de l'interface. N'oubliez pas de désactiver la fonction d'aide du terminal quand vous lancez make nconfig dans un terminal;
  3. F2, aide sur l'option sélectionnée, équivalent à la touche ?;
  4. F3, aide dans sa forme abrégée;
  5. F4, permutation entre l'interface et l'affichage de la liste des variables du fichier de configuration;
  6. F5, retour à l'affichage précédent;
  7. F6, sauvegarde de la configuration. Le fichier par défaut est .config. Laisser à blanc annule la requête de sauvegarde;
  8. F7, initialise le fichier de configuration avec le contenu d'une sauvegarde antérieure;
  9. F8, recherche l'endroit où initialiser une variable de configuration, affiche le chemin pour s'y rendre;
  10. F9, pour quitter le programme de configuration. Demande de sauvegarder les modifications s'il y a lieu.

Préparation à la configuration

Avant de nous lancer dans la configuration du noyau, il est primordiale d'avoir le plus d'information et de détails possibles sur les composants matériels de notre PC. Cette section suggère quelques recettes à appliquer pour obtenir ces informations. Les recettes proposées utilisent les commandes d'aide à la configuration énumérées plus haut.

Le manuel, commande man, demeure toujours la meilleure source d'information sur le pourquoi et le comment d'une commande.

Information matérielle à l'aide de hwinfo

Le document Guide HWINFO vous renseigne sur l'utilisation de la commande hwinfo afin d'obtenir de l'information détaillée sur les composants matériels d'un PC et leur pilote.

Pilote d'une carte réseau avec ifconfig jumelé à hwinfo

Le tutoriel Information sur les cartes réseau vous explique comment utiliser la commande ifconfig jumelée à la commande hwinfo pour découvrir les cartes réseau et leur pilote.

Données sur le processeur avec lscpu

Ce petit guide sur la commande lscpu, Guide LSCPU, décrit la façon d'obtenir des détails sur l'architecture de l'unité centrale de traitement aussi nommée processeur.

Information matérielle trouvée avec lshw

Le document Guide LSHW vous renseigne sur l'utilisation de la commande lshw afin d'obtenir de l'information détaillée sur les composants matériels d'un PC et leur pilote.

Listing des modules chargés, lsmod

Le tutoriel La commande lsmod vous montre comment obtenir une liste des modules chargés par le noyau. La liste produite permet de vérifier si vous n'avez rien oublié lors de la configuration personnalisée du noyau.

Pilotes de périphériques PCI supportés par Debian

Nous pouvons obtenir un rapport assez précis sur les pilotes de périphériques PCI supportés par Debian. Il y a un site Web qui génère ce rapport en utilisant une liste produite par la commande lspci. Consultez ce tutoriel: Rapport lspci.

Le rapport n'est pas exhaustif. Nous obtenons de l'information sur le matériel et le pilote quand le périphérique est connu de la base de données du site. Cette liste demeure quand même pratique. Imprimez-la ou stockez-la quelque part sur un média. Vous pourrez ainsi y référer le moment venu. Les commandes lshw et hwinfo vous aideront à trouver l'information manquante si tel est le cas.

Pilotes des périphériques USB

Nous obtenons une liste de ces pilotes par l'exécution de la commande lsusb. Consultez le tutoriel sur les Périphériques USB pour en savoir plus.

Configuration du noyau

Le tutoriel sur la compilation du noyau suggère de copier le fichier de configuration du noyau actuellement utilisé pour amorcer la configuration du noyau nouvellement installé. Nous recommandons plutôt d'initialiser le fichier de configuration avec le module defconfig. Les variables sont ainsi initialisées avec les valeurs minimales recommandées par les développeurs du noyau.

Lors d'une mise à jour d'un noyau, en copier le fichier de configuration actuel devient la recommandation. Ainsi nous conservons les options telles que configurées antérieurement.

Configuration minimale de départ:

make defconfig

Reconduction de la configuration lors d'une mise à jour:

cp /boot/config-.... .config
make oldconfig

L'exemple suppose que vous êtes déjà dans le dossier où l'archive du nouveau noyau a été extraite. Notez que le fichier de configuration est un fichier caché. Aux questions posées par oldconfig, acceptez la réponse par défaut en appuyant simultanément sur les touches Maj et Entrée.

Mise en branle de la configuration:

make nconfig

Les items présentés ci-après correspondent à chacun des éléments affichés dans la fenêtre principale de l'interface nconfig.

64-bit kernel:

Cette option indique au compilateur si le noyau est compilé pour une architecture 64-bit ou une architecture 32-bit. Par défaut, le noyau sera compilé pour une architecture 64-bit.

[*] 64-bit kernel <--- 64-bit
[ ] 64-bit kernel <--- 32-bit

General setup:

Cette section regroupe un ensemble d'options relevant de la configuration générale du noyau. Ces options couvrent principalement les échanges entre le noyau et le BIOS. Ce n'est pas obligatoire, mais on peut en modifier quelques options. Consultez le guide Noyau: General setup.

Enable loadable module support

Les options de cette section déterminent si le noyau permet aux pilotes d'être compilés en tant que modules pouvant être chargés ou déchargés en cours d'exécution. En activant cette section, cela implique que make modules_install soit exécuté lors de la phase de compilation du noyau. Les modules seront alors enregistrés dans /lib/modules, le répertoire où la commande modprobe trouve les noyaux.

[*] Enable loadable module support  --->
  [*]   Module unloading

Ci-haut, la seule action à activer dans cette section.

Enable the block layer

Les options de cette section du fichier de configuration renseignent le noyau sur le soutien aux périphériques de type bloc, par exemple les disques durs. Il ne faut en aucun cas désactiver cette option. C'est pourquoi l'indicateur d'activation se présente ainsi: -*-. Toutefois cela ne fait qu'afficher les options lorsqu'on appuie sur Enter.

Consultez le tutoriel Noyau: Enable blcok layer pour en savoir plus sur la configuration de cette section.

Processor type and features

Cette section du fichier de configuration du noyau contient plusieurs options portant sur l'architecture sur laquelle repose le fonctionnement du noyau. Référez-vous au tutoriel Noyau: Processor type and features pour configurer cette section.

Power management and ACPI options

Ensemble d'options en rapport avec la gestion de l'alimentation par le noyau.

Bus options (PCI etc.) FIXME

Executable file formats / Emulations FIXME

Networking support FIXME

Device Drivers FIXME

Firmware Drivers FIXME

File systems FIXME

Kernel hacking FIXME

Security options FIXME

Cryptographic API FIXME

Virtualization FIXME

Library routines FIXME