Noyau/Configuration

From Gentoo Wiki
< Kernel
Jump to: navigation, search
This page is a translated version of the page Kernel/Configuration and the translation is 28% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Cet article décrit la configuration et l'installation du Noyau Linux.

Mettre en place le lien symbolique

Le lien symbolique /usr/src/linux devrait toujours pointer sur les sources du noyau en cours d'utilisation. Ceci peut être obtenu de trois manières différentes :

1. Installer les sources du noyau avec l'option de la variable USE symlink activée.
Ceci fera que le lien /usr/src/linux pointera sur vos sources du noyau nouvellement installées. Si nécessaire, il peut encore être modifié avec l'une des deux méthodes suivantes :
2. Mettre en place le lien symbolique avec eselect
root #eselect kernel list
Available kernel symlink targets:
[1] linux-3.3.8-gentoo
[2] linux-3.4.9-gentoo
Ceci affiche les sources du noyau disponibles. L'astérisque indique les sources sélectionnées. Pour les changer, par exemple pour choisir celles correspondant à la deuxième entrée, faites :
root #eselect kernel set 2
3. Mettre en place le lien symbolique à la main 
root #ln -sf /usr/src/linux-3.4.9-gentoo /usr/src/linux
root #ls -l /usr/src/linux
lrwxrwxrwx 1 root root 11 Aug 29 22:10 /usr/src/linux -> /usr/src/linux-3.4.9-gentoo


Outils de configuration

Le noyau dispose de plusieurs outils pour sa configuration :

Command Description
make config Text based configuration. The options are prompted one after another. All options need to be answered, and out-of-order access to former options is not possible.
make menuconfig An ncurses-based pseudo-graphical menu (only text input). Navigate through the menu to modify the desired options.
make defconfig Generates a new config with default from the ARCH supplied defconfig file. Use this option to get back the default configuration file that came with the sources.
make nconfig Pseudo-graphical menu based on ncurses. Requires sys-libs/ncurses to be installed.
make xconfig Graphical menu using Qt5. Requires dev-qt/qtgui to be installed.
make gconfig Graphical menu using GTK+. Requires x11-libs/gtk+, dev-libs/glib, and gnome-base/libglade to be installed.
make oldconfig Review changes between kernel versions and update to create a new .config for the kernel.
make olddefconfig Generates a new configuration with default values from the ARCH supplied defconfig file while, at the same time, maintaining all the previous options set in the .config file found at /usr/src/linux/.config. This is a fast and safe method for upgrading a config file that has all the configuration options it needs for hardware support while at the same time gaining bug fixes and security patches.
make allyesconfig Enables all configuration options in the kernel. It will set all kernel options to *. Make sure a backup of the current kernel configuration is acquired before using this option!

Il existe aussi plusieurs scripts pour créer diverses configuration par défaut. Reportez-vous à :

root #make help

Configuration

Cet aricle décrit la configuration à partir de make menuconfig, mais la procédure est similaire à celle des autres menus.

root #cd /usr/src/linux
root #make menuconfig

Utilisation

Dans le menu présenté, la barre bleue indique votre position courante. À l'aide des touches de direction up et down vous pouvez changer la position. Les touches de direction left et right vous permettent de parcourir la barre de menu en bas et définissent ce qui se passe quand vous frappez la touche Enter. Select commute vers un sous-menu - les entrées du menu se terminant par « --> » -, alors que Exit permet de quitter un sous-menu. En alternative, vous pouvez faire deux fois Esc.

Pressing an associated letter key A-Z will move the position of the cursor lines that have characters in bold. The Y, M, N keys are excluded from navigation in this way; they are sanctified for other purposes. If a line begins with a Y, M, or N, the next character will be bold and capable of being jumped to. For example, relative to the cursor's current position, if the next line reads "Network Device Support --->" pressing the E key will move the cursor to that line.

Les entrées de menu qui commencent par des parenthèses, crochets, accolades ou similaires, sont des pilotes ou des fonctionnalités que peuvent être activées :

Symbol(s) Description
[ ], [*] Options in square brackets can be activated or deactivated. The asterisk marks the menu entry as activated. The value can be changed with the space key. It is also possible to press Y key (Yes) to activate or N key (No) to deactivate the selected entry.


If the option is activated, the selected feature/driver will be built into the kernel and will always be available at boot time.

< >, <M>, <*> Options in angle brackets can be activated or deactivated, but also activated as module (indicated by a M). The values can be modified by pressing Y/N keys as before or by pressing the M key to activate the feature/driver as a module.


See the Kernel Modules article for differentiation.

{M}, {*} Options in curly brackets can be activated or activated as module but not be deactivated. This happens because another feature/driver is dependent on this feature.
-M-, -*- Options between hyphens are activated in the shown way by another feature/driver. There is no choice.

De plus, certaines entrées du menu possèdent une marque à la fin :

Tag Description
(NEW) This driver is new in the kernel and is maybe not stable enough.
(EXPERIMENTAL) This driver is experimental and most likely not stable enough.
(DEPRECATED) This driver is deprecated and not needed for most systems.
(OBSOLETE) This driver is obsolete and should not be activated.

La plupart des options possèdent une description, que l'on peut obtenir en pressant la touche H ou en choisissant Help dans la barre de menu.

Sélection du pilote

Reportez-vous à l'article hardware detection et aux articles de la catégorie Hardware.

Rechercher des modules

À l'intérieur de menuconfig,vous pouvez utiliser la touche / pour rechercher des modules.

Within menuconfig, use the / key to search modules by name.

As shown below, the search result will show numbers in front of the matches. Pressing 1 in the example below would make menuconfig jump straight to the option Bluetooth device drivers in the menu structure.

KERNEL Example output after searching for HCIBTUSB
Symbol: BT_HCIBTUSB [=m]                       
Type  : tristate                               
Prompt: HCI USB driver                         
  Location:                                    
    -> Networking support (NET [=y])           
      -> Bluetooth subsystem support (BT [=y]) 
(1)     -> Bluetooth device drivers            
  Defined at drivers/bluetooth/Kconfig:5       
  Depends on: NET [=y] && BT [=y] && USB [=m]

Activer la configuration ordinaire de Gentoo Linux

Il existe une option de configuration du noyau appelée CONFIG_GENTOO_LINUX qui est seulement présente dans sys-kernel/gentoo-sources et dans d'autres noyaux maintenus (Kernel Project). Elle ne fait rien par elle-même, mais définit un jeu d'options de configuration nécessaires pour des installations typiques.

Ce paramètre sélectionne automatiquement la prise en charge de tmpfs et devtmpfs qui sont nécessaires pour gérer /dev sur Gentoo Linux, mais pourrait être étendu dans le futur pour activer d'autres paramètres obligatoires dans un système Gentoo Linux. Pour une plus ample information, lisez l'aide disponible dans la configuration du noyau telle que décrite plus haut dans ce guide.

Compilation/construction

Après avoir configuré le noyau, vous devez le compiler :

root #make

Si vous disposez d'un processeur à plusieurs cœurs, vous pouvez laisser tous les cœurs faire le travail. Pour cela ajoutez le paramètre -j(NUMBER_CORES +1). Pour un processeur à deux cœurs :

root #make -j3

A quad core system contains four logical cores plus one (4 + 1):

root #make -j5

Installation

Si vous avez activé des pilotes en tant que module, vous devez les installer :

root #make modules_install

Les modules seront copiés dans un sous-répertoire de /lib/modules.

Pour installer le noyau réel :

root #make install

Cette commande exécute /sbin/installkernel, qui fait partie du paquet sys-apps/debianutils. « Le nouveau noyau est installé dans {{Path|/boot//vmlinuz-{version}}}. Si un lien symbolique /boot/vmlinuz existe déjà, il est rafraîchi en faisant un lien de /boot/vmlinuz vers le nouveau noyau, et le noyau précédemment installé est disponible en tant que /boot/vmlinuz.old. » (installkernel man page). C'est la même chose pour les fichiers config et System.map. Ces liens symboliques sont pratiques, car ils pointent toujours sur le noyau le plus récent sans changer le chemin vers le fichier (par exemple, vous pouvez les utiliser dans la configuration du chargeur de démarrage).

Chargeur de démarrage

Changez la configuration de votre chargeur de démarrage pour sélectionner le nouveau noyau au démarrage.

Pour finir, redémarrez votre système avec le nouveau noyau.

Comparing current kernel configuration with default configuration

Use the following procedure to get an overview of the kernel configuration settings that deviate from the default. Keep in mind that the modification of one configuration setting may alter additional configuration settings.

root #cd /usr/src/linux
root #cp .config ../.config.working
root #make defconfig
root #mv .config ../.config.default
root #cp ../.config.working .config
root #cd ..
root #/usr/src/linux/scripts/diffconfig .config.working .config.default > .config.diff

The search function in make menuconfig can be used to look up the symbols and their interpretations. When you're done, clean up:

root #cd /usr/src/
root #rm .config.working .config.default .config.diff

See also