====== Configuration du noyau ======
* Objet : Trucs et astuces pour personnaliser le noyau en fonction de sa machine et de son utilisation.
* Commentaires : {{tag>en-chantier}} //Complément à l'étape [[https://wiki.debian-facile.org/doc:systeme:noyau:compiler#configuration-du-noyau|Configuration du noyau]] du tutoriel [[https://wiki.debian-facile.org/doc:systeme:noyau:compiler|Compiler]]. //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
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 [[http://wiki.debian-facile.org/utilisateurs:aramis_qc:tutos:configuration-du-noyau?preparation-a-la-configuration|Préparation à la configuration]].
**hwinfo**
Installé par le paquet [[https://wiki.debian-facile.org/doc:systeme:hwinfo?s[]=hwinfo|hwinfo]], cet utilitaire explore tous les composants matériels d'un ordinateur. Cette commande est une alternative à [[https://wiki.debian-facile.org/doc:systeme:lshw?s[]=lshw|lshw]].
**ifconfig**
Outil fourni par le paquet **net-tools**, [[https://wiki.debian-facile.org/doc:reseau:ifconfig?s[]=ifconfig|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**
[[https://wiki.debian-facile.org/doc:systeme:lshw?s[]=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**
[[https://wiki.debian-facile.org/doc:systeme:lsmod?s[]=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 [[https://wiki.debian-facile.org/doc:systeme:lspci|lspci]] fournie par le paquet **pciutils** renseigne sur les périphériques connectés aux ports PCI.
**lsusb**
La commande [[https://wiki.debian-facile.org/doc:systeme:lsusb|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 [[https://wiki.debian-facile.org/doc:systeme:noyau:compiler|compilation du noyau]] traite du module ''menuconfig'' de la commande ''make'' pour configurer le noyau. Ce tutoriel fait plutôt appel à la variante ''nconfig''.
{{https://images.debian-facile.org/file-R4d0884bf44e2fd5d6dd80cdf4ba76f51.png|Menu d'accueil de nconfig}}
- Fenêtre principale;
- 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;
- F2, aide sur l'option sélectionnée, équivalent à la touche **?**;
- F3, aide dans sa forme abrégée;
- F4, permutation entre l'interface et l'affichage de la liste des variables du fichier de configuration;
- F5, retour à l'affichage précédent;
- F6, sauvegarde de la configuration. Le fichier par défaut est ''.config''. Laisser à blanc annule la requête de sauvegarde;
- F7, initialise le fichier de configuration avec le contenu d'une sauvegarde antérieure;
- F8, recherche l'endroit où initialiser une variable de configuration, affiche le chemin pour s'y rendre;
- 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 [[http://wiki.debian-facile.org/utilisateurs:aramis_qc:tutos:configuration-du-noyau?outils-d-aide-a-la-configuration|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 [[utilisateurs:aramis_qc:tutos:guide-hwinfo|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 [[utilisateurs:aramis_qc:tutos:info-carte-reseau|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'', [[utilisateurs:aramis_qc:tutos:guide-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 [[utilisateurs:aramis_qc:tutos:guide-lshw|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 [[http://wiki.debian-facile.org/doc:systeme:lsmod?s[]=lsmod|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: [[utilisateurs:aramis_qc:tutos:rapport-lspci|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 [[utilisateurs:aramis_qc:tutos:lsusb-exemple|Périphériques USB]] pour en savoir plus.
===== Configuration du noyau =====
Le [[https://wiki.debian-facile.org/doc:systeme:noyau:compiler|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 [[utilisateurs:aramis_qc:tutos:noyau-general-setup|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 [[utilisateurs:aramis_qc:tutos:noyau-enable-block-layer|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 [[utilisateurs:aramis_qc:tutos:noyau-processor-type-features|Noyau: Processor type and features]] pour configurer cette section.
**Power management and ACPI options**
Ensemble d'options en rapport avec la [[utilisateurs:aramis_qc:tutos:noyau-power-management-and-acpi-options|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