Gentoo Logo

Avertissement : Ce manuel a été remplacé par une version plus récente et n'est plus maintenu.


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


7. Configurer le noyau

Table des matières :

7.a. Fuseau horaire

Vous devez maintenant choisir votre fuseau horaire afin que votre système sache où il se trouve. Cherchez votre fuseau horaire dans /usr/share/zoneinfo, puis copiez le fichier sur /etc/localtime. Évitez les zones /usr/share/zoneinfo/Etc/GMT*, car leur nom prête à confusion. En effet, GMT-8 siginifie en fait GMT+8.

Exemple de code 1.1 : Définir l'information relative au fuseau horaire

# ls /usr/share/zoneinfo
(En supposant que vous utilisez l'heure de Paris.)
# cp /usr/share/zoneinfo/Europe/Paris /etc/localtime

7.b. Installer les sources

Choisir un noyau

Le cœur autour duquel sont bâties toutes les distributions est le noyau (en anglais « kernel ») Linux. Ce noyau est l'interface entre les programmes utilisateur et le matériel. Gentoo offre un choix de plusieurs noyaux à ses utilisateurs. Une liste complète, accompagnée de descriptions, est disponible dans le Guide du noyau Gentoo Linux.

Pour les systèmes x86, nous offrons, en autres, les gentoo-sources (le noyau 2.6 officiel modifié par l'ajout de fonctionnalités servant à améliorer les performances, la sécurité, etc.) La version officielle non modifiée du noyau 2.6 est dans le paquet vanilla-sources.

Si voulez utiliser un noyau 2.4, vous devez effectuer une installation avec une connexion au réseau, car les sources des noyaux 2.4 ne sont plus sur nos CD d'installation.

Choisissez les sources à utiliser pour votre noyau et installez-les avec emerge. On utilise USE="-doc" pour éviter d'éventuelles dépendances telles que xorg-x11. De plus, USE="symlink" n'est pas nécessaire pour une nouvelle installation, mais garantit que le lien symbolique /usr/src/linux pointe vers les sources du noyau que vous installez.

Exemple de code 2.1 : Installer les sources d'un noyau

# USE="-doc symlink" emerge gentoo-sources

Si vous examinez le contenu de /usr/src, vous devriez voir un lien symbolique nommé linux qui pointe vers les sources de votre noyau. L'exemple suivant utilise la version 2.6.12-gentoo-r10, mais vous aurez sans doute installé une autre version.

Exemple de code 2.2 : Examiner le lien symbolique vers le noyau

# ls -l /usr/src/linux
lrwxrwxrwx   1 root   root   12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-r10

Il est maintenant temps de configurer et de compiler votre noyau. Vous pouvez utiliser genkernel. Cette commande construira un noyau générique tel que celui utilisé par le CD d'installation. Toutefois, nous expliquerons d'abord la configuration « manuelle », puisque c'est la meilleure façon d'optimiser votre environnement.

Si vous souhaitez configurer manuellement votre noyau, poursuivez votre lecture avec Par défaut : configuration manuelle. Si vous souhaitez utiliser genkernel, vous devriez plutôt lire Alternative : utiliser genkernel.

7.c. Par défaut : configuration manuelle

Introduction

Configurer un noyau est parfois considéré comme la tâche la plus ardue que les utilisateurs de Linux doivent accomplir. Rien n'est moins vrai... Après avoir configuré quelques noyaux, vous ne vous rappellerez même plus que c'était difficile ;)

Toutefois, une chose est vraie : vous devez connaître votre système pour configurer manuellement un noyau. La majeure partie de cette information peut être obtenue en utilisant la commande lspci qui est dans le paquet pciutils (emerge pciutils). Vous pourrez désormais utiliser lspci depuis votre environnement en chroot. Vous pouvez ignorer les avertissements pcilib (comme par exemple : pcilib: cannot open /sys/bus/pci/devices) que vous obtiendrez avec lspci. Vous pouvez également exécuter lspci depuis un environnement non chrooté. Le résultat est le même. Vous pouvez également exécuter lsmod pour voir les modules du noyau utilisés par le CD-ROM d'installation (ce qui peut vous donner des indices sur les fonctionnalités nécessaires).

Maintenant, allez dans le dossier des sources du noyau et exécutez make menuconfig. Cela ouvrira un menu de configuration basé sur ncurses.

Exemple de code 3.1 : Lancer menuconfig

# cd /usr/src/linux
# make menuconfig

Plusieurs sections d'options de configuration s'afficheront. Nous allons d'abord dresser la liste de certaines options que vous devez activer (sinon, Gentoo ne fonctionnera pas, ou du moins pas sans quelques réglages additionnels).

Activer les options requises

Veuillez vérifier que tous les pilotes nécessaires au démarrage de votre système tels que le pilote de votre carte SCSI sont compilés en dur et non comme modules.

Vérifiez que vous compilez votre noyau pour le bon type de processeur :

Exemple de code 3.2 : Sélectionner le type de processeur

Processor type and features --->
  Subarchitecture Type (PC-compatible)  --->
  (Sélectionnez le type de processeur.)
  (Athlon/Duron/K7) Processor family

Allez à la section File Systems et activez le support nécessaire pour les systèmes de fichiers que vous utilisez. Ne les compilez pas sous forme de modules, sinon votre système Gentoo ne pourra pas monter vos partitions. Activez aussi Virtual memory et /proc file system.

Exemple de code 3.3 : Activer le support pour les systèmes de fichiers

File systems --->
  Pseudo Filesystems --->
    <*> /proc file system support
    <*> Virtual memory file system support (former shm fs)
 (Sélectionnez le(s) système(s) de fichiers dont vous avez besoin.)
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support

N'oubliez pas d'activer le support DMA pour vos disques :

Exemple de code 3.4 : Activer le support DMA

Device Drivers --->
  ATA/ATAPI/MFM/RLL support --->
    [*] Generic PCI bus-master DMA support
    [*]   Use PCI DMA by default when available

Si vous utilisez PPPoE ou un modem classique pour vous connecter à Internet, vous aurez besoin des options du noyau suivantes :

Exemple de code 3.5 : Sélection des pilotes PPPoE

Device Drivers --->
  Networking support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

Les deux options de compression ne vous feront pas de mal, mais ne sont pas absolument nécessaires. L'option PPP over Ethernet n'est pas obligatoire non plus, considérant qu'elle pourrait n'être utilisée que par rp-pppoe lorsque ce dernier est configuré pour utiliser PPPoE en mode noyau.

Si vous en avez besoin, n'oubliez pas d'ajouter le support pour votre carte ethernet.

Si vous avez un microprocesseur Intel qui supporte la technologie HyperThreading™ ou si vous avez un système à plusieurs CPU, vous devriez activer « Symmetric multi-processing support » :

Exemple de code 3.6 : Activer le support pour SMP

Processor type and features  --->
  [*] Symmetric multi-processing support

Si vous utilisez des périphériques d'entrée USB (un clavier ou une souris par exemple), n'oubliez pas les options suivantes :

Exemple de code 3.7 : Activer le support USB pour des périphériques d'entrée

Device Drivers --->
  USB Support --->
  <*>   USB Human Interface Device (full HID) support
    [*]   HID input layer support

Sur un portable, vous voudrez sans doute utiliser les pilotes PCMCIA. N'oubliez pas de compiler le support PCMCIA dans votre noyau ainsi que le support du type de carte que vous utilisez

Exemple de code 3.8 : Activer le support PCMCIA

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  PCCARD (PCMCIA/CardBus) support  --->
    <*> PCCard (PCMCIA/CardBus) support
(Cochez 16-bit pour des anciennes cartes PCMCIA. Requis dans la plupart des cas.)
    <*>   16-bit PCMCIA support
    [*]   32-bit CardBus support
(Cochez le type de bridge approprié)
    --- PC-card bridges
    <*> CardBus yenta-compatible bridge support (NEW)
    <*> Cirrus PD6729 compatible bridge support (NEW)
    <*> i82092 compatible bridge support (NEW)
    <*> i82365 compatible bridge support (NEW)
    <*> Databook TCIC host bridge support (NEW)

Lorsque vous aurez terminé la configuration de votre noyau, poursuivez avec la section Compiler et installer.

Compiler et installer

Maintenant que votre noyau est configuré, il est temps de le compiler et de l'installer. Quittez la configuration et exécutez make dep && make bzImage modules modules_install :

Exemple de code 3.9 : Compiler le noyau

# make && make modules_install

Lorsque la compilation est terminée, copiez l'image du noyau dans /boot. Vous pouvez choisir le nom que vous allez donner à votre noyau comme bon vous semble. Mémorisez-le, car vous en aurez besoin au moment de configurer votre chargeur de démarrage.

Exemple de code 3.10 : Installer le noyau

# cp arch/i386/boot/bzImage /boot/<version>

Maintenant, poursuivez votre lecture avec Configurer des modules du noyau individuels.

7.d. Alternative : utiliser genkernel

Si vous lisez cette section, vous avez choisi d'utiliser le script genkernel pour configurer votre noyau pour vous.

Maintenant que l'arbre des sources de votre noyau est installé, il est temps de compiler ce noyau à l'aide du script genkernel qui construira automatiquement un noyau dont la configuration sera presque identique à celle du noyau du CD d'installation. Cela signifie que si vous utilisez genkernel pour construire votre noyau, votre système détectera généralement tout votre matériel au moment de l'amorçage, à la manière du CD d'installation. Puisque genkernel ne requiert aucune configuration manuelle, il s'agit d'une solution idéale pour l'utilisateur rebuté par l'idée de compiler son propre noyau.

Maintenant, voyons comment utiliser genkernel. D'abord, installez genkernel comme suit :

Exemple de code 4.1 : Installer genkernel

# emerge genkernel

Ensuite, compilez les sources du noyau en exécutant genkernel all.

Veuillez noter que si votre partition de démarrage utilise un autre système de fichiers que ext2 ou ext3, vous devrez peut-être compiler le support pour ce système de fichiers dans le noyau (donc pas comme module) avec la commande genkernel --menuconfig all. Si vous utilisez EMVS2 ou LVM2, vous voudrez sans doute ajouter les options --evms2 ou --lvm2.

Exemple de code 4.2 : Exécuter genkernel

# genkernel all

Lorsque genkernel aura fini son travail, un noyau, un ensemble complet de modules et un « initial root disk » (initrd) auront été créés. Le noyau et le initrd seront utilisés plus tard lors de la configuration du chargeur de démarrage. Notez bien les noms du noyau et du initrd puisque vous devrez les spécifier lors de l'écriture du fichier de configuration du chargeur de démarrage. Le initrd sera démarré immédiatement après l'amorçage afin de réaliser l'autodétection du matériel (tout comme pour le CD d'installation) avant que votre « véritable » système ne démarre.

Exemple de code 4.3 : Vérifier les noms de l'image du noyau et du fichier initrd

# ls /boot/kernel* /boot/initramfs*

Afin d'obtenir un système plus semblable encore à celui du CD d'installation, effectuons une dernière étape : l'installation de coldplug. Alors que initrd autodétecte le matériel nécessaire au démarrage du système, coldplug autodétecte tout le reste. Pour l'installer et l'activer, utilisez les commandes suivantes :

Exemple de code 4.4 : Installer et activer coldplug

# emerge coldplug
# rc-update add coldplug default

7.e. Configurer des modules du noyau individuels

Configurer les modules

Vous devriez indiquer la liste des modules que vous souhaitez charger automatiquement dans /etc/modules.autoload.d/kernel-2.6 (ou kernel-2.4). Vous pouvez également ajouter des options aux modules si vous le souhaitez.

Pour dresser la liste des modules disponibles, exécutez la commande find tel qu'indiqué ci-dessous. N'oubliez pas de substituer <kernel version> par la version du noyau que vous venez juste de compiler :

Exemple de code 5.1 : Consulter la liste des modules disponibles

# find /lib/modules/<version du noyau>/ -type f -iname '*.o' -or -iname '*.ko'

Par exemple, pour charger automatiquement le module 3c59x.o, spécifiez-le dans le fichier kernel-2.6 (ou kernel-2.4) selon le noyau que vous utilisez.

Exemple de code 5.2 : Modifier le fichier /etc/modules.autoload.d/kernel-2.6

(Exemple pour un noyau 2.6.x)
# nano -w /etc/modules.autoload.d/kernel-2.6

Exemple de code 5.3 : Exemple de fichier /etc/modules.autoload.d/kernel-2.6

3c59x

Poursuivez l'installation avec Configurer votre système.


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 6 janvier 2006

Cette traduction n'est plus maintenue

Résumé : Le noyau Linux est au cœur de toutes les distributions. Ce chapitre explique comment le configurer.

Sven Vermeulen
Auteur

Roy Marples
Auteur

Daniel Robbins
Auteur

Chris Houser
Auteur

Jerry Alexandratos
Auteur

Seemant Kulleen
Développeur Gentoo x86

Tavis Ormandy
Développeur Gentoo Alpha

Jason Huebel
Développeur Gentoo AMD64

Guy Martin
Développeur Gentoo HPPA

Pieter Van den Abeele
Développeur Gentoo PPC

Joe Kallar
Développeur Gentoo SPARC

John P. Davis
Correcteur

Pierre-Henri Jondot
Correcteur

Eric Stockbridge
Correcteur

Rajiv Manglani
Correcteur

Jungmin Seo
Correcteur

Stoyan Zhekov
Correcteur

Jared Hudson
Correcteur

Colin Morey
Correcteur

Jorge Paulo
Correcteur

Carl Anderson
Correcteur

Jon Portnoy
Correcteur

Zack Gilburd
Correcteur

Jack Morgan
Correcteur

Benny Chuang
Correcteur

Erwin
Correcteur

Joshua Kinard
Correcteur

Tobias Scherbaum
Correcteur

Grant Goodyear
Relecteur

Gerald J. Normandin Jr.
Relecteur

Donnie Berkholz
Relecteur

Ken Nowack
Relecteur

Lars Weiler
Contributeur

Xavier Neys
Correcteur, traducteur

Camille Huot
Traducteur

Benjamin Girault
Traducteur

Olivier Fisette
Traducteur

Olivier Roomans
Traducteur

Vincent Strubel
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.