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 créez un lien symbolique nommé
/etc/localtime en utilisant ln :
Exemple de code 1.1 : Définir l'information relative au fuseau horaire |
# ls /usr/share/zoneinfo
# ln -sf /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 vanilla-sources (le
noyau 2.4.x par défaut produit par les développeurs du noyau Linux), les
gentoo-sources (un noyau 2.4.x modifié par l'ajout de fonctionnalités
servant à améliorer les performances), les gentoo-dev-sources (le noyau
2.6 modifié par l'ajout de fonctionnalités servant à améliorer les
performances), les development-sources (le noyau 2.6 officiel)...
Si votre installation ne dispose pas de connexion réseau, vous devez choisir un
noyau dont les sources se trouvent sur le CD. Pour la version 2004.2, les noyaux
disponibles sont :
- gentoo-sources
- vanilla-sources
- gentoo-dev-sources
- development-sources
Choisissez les sources à utiliser pour votre noyau et installez-les avec
emerge.
Exemple de code 2.1 : Installer les sources d'un noyau |
# emerge gentoo-sources
|
Si vous examinez le contenu de /usr/src, vous devriez voir un lien
symbolique nommé linux pointant vers les sources de votre noyau.
Nous supposons que le noyau installé est gentoo-sources-2.4.26-r6 :
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.4.26-gentoo-r6
|
Si ce n'est pas le cas (le lien symbolique pointe vers un noyau différent),
changez le lien avant de continuer :
Exemple de code 2.3 : Changer le lien symbolique vers les sources du noyau |
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.4.26-gentoo-r6 linux
|
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 LiveCD. 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 examinant le contenu de /proc/pci (ou en utilisant
lspci, s'il est disponible). Vous pouvez aussi exécuter lsmod
pour voir quels modules du noyau sont utilisés par le LiveCD (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
Avant toute chose, activez l'utilisation du code et des pilotes en
développement ou expérimentaux. C'est absolument nécessaire ; si vous ne le
faites pas, des options très importantes ne seront pas affichées.
Exemple de code 3.2 : Sélectionner le code et les pilotes expérimentaux |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
|
Vérifiez que vous compilez votre noyau pour le bon type de processeur :
Exemple de code 3.3 : Sélectionner le type de processeur |
Processor type and features --->
(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, /proc
file system et /dev file system + Automatically mount at boot.
Exemple de code 3.4 : Activer le support pour les systèmes de fichiers |
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] Automatically mount at boot
[ ] /dev/pts file system for Unix98 PTYs
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] /dev file system support (OBSOLETE)
[*] Automatically mount at boot
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
|
Si votre BIOS ne sait pas gérer les disques durs de grande capacité et si vous
avez dû placer un cavalier sur le disque pour qu'il reporte une taille limitée,
alors vous devez activer les options suivantes pour permettre l'accès à votre
disque entier :
Exemple de code 3.5 : Sélection du redimensionnement de la géométrie du disque dur |
ATA/IDE/MFM/RLL support --->
IDE, ATA and ATAPI Block devices --->
<*> Include IDE/ATA-2 DISK support
[ ] Use multi-mode by default
[*] Auto-Geometry Resizing support
|
Si vous utilisez PPPoE ou un modem classique pour vous connecter à Internet,
vous aurez besoin des options du noyau suivantes :
Exemple de code 3.6 : Sélection des pilotes PPPoE |
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
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.7 : 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.8 : Activer le support USB pour des périphériques d'entrée |
USB Support --->
<*> USB Human Interface Device (full HID) support
|
Sur un portable, vous ne devez pas utiliser les pilotes PCMCIA du
noyau, mais ceux qui seront installés plus tard avec le paquet
pcmcia-cs. Avec un noyau 2.6.x, vous devriez utiliser les pilotes du
noyau.
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 dep && make bzImage modules modules_install
# make && make modules_install
|
Lorsque la compilation est terminée, copiez l'image du noyau dans
/boot. Dans le reste de ce document, nous considérerons que vous
avez installé la version 2.4.26 de gentoo-sources. 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/kernel-2.4.26-gentoo-r6
# cp System.map /boot/System.map-2.4.26-gentoo-r6
|
Il est également sage de copier la configuration du noyau dans
/boot. Juste au cas où... :)
Exemple de code 3.11 : Faire une copie de sécurité de la configuration du noyau |
# cp .config /boot/config-2.4.26-gentoo-r6
|
Maintenant, poursuivez votre lecture avec Installer
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 LiveCD. 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 LiveCD. 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.
Puisque genkernel compile un noyau qui supporte presque n'importe quel
matériel, ne soyez pas surpris que la compilation demande un temps considérable.
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.
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 LiveCD) 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/initrd*
|
Afin d'obtenir un système plus semblable encore à celui du LiveCD, effectuons
une dernière étape : l'installation de hotplug. Alors que initrd
autodétecte le matériel nécessaire au démarrage du système, hotplug
autodétecte tout le reste. Pour l'installer et l'activer, utilisez les commandes
suivantes :
Exemple de code 4.4 : Installer et activer hotplug |
# emerge hotplug
# rc-update add hotplug default
|
7.e. Installer des modules du noyau individuels
Installer des modules supplémentaires
Si nécessaire, vous devriez installer les paquets appropriés pour le support du
matériel supplémentaire présent sur votre système. Voici une liste d'ebuilds
que vous pouvez utiliser pour installer ces paquets :
| ebuild |
Support fourni |
Commande |
| nvidia-kernel |
Accélération graphique pour les cartes NVIDIA (pour xorg-x11) |
emerge nvidia-kernel |
| nforce-audio |
Périphérique de son intégré aux cartes mères NVIDIA NForce(2) |
emerge nforce-audio |
| e100 |
Adaptateurs e100 Fast Ethernet de Intel |
emerge e100 |
| e1000 |
Adaptateurs e1000 Gigabit Ethernet de Intel |
emerge e1000 |
| emu10k1 |
Cartes son Creative Sound Blaster Live!/Audigy (uniquement pour noyaux 2.4.x) |
emerge emu10k1 |
| ati-drivers |
Accélération graphique pour les cartes ATI Radeon 8500+/FireGl
(pour xorg-x11)
|
emerge ati-drivers |
| ati-drivers-extra |
Outils graphiques ATI |
emerge ati-drivers-extra |
Faites attention, car certains de ces paquets ont de nombreuses dépendances.
Pour vérifier quels paquets seront installés lorsque vous utiliserez un
ebuild donné, utilisez emerge --pretend. Voici un exemple, avec le
paquet emu10k1 :
Exemple de code 5.1 : Examiner la liste des paquets qui seront installés |
# emerge --pretend emu10k1
|
Si vous n'êtes pas satisfait des paquets qui seront installés, utilisez
emerge --pretend --verbose pour voir quelles options de la variable USE
ont une influence sur les dépendances.
Exemple de code 5.2 : Examiner l'effet des options de USE |
# emerge --pretend --verbose emu10k1
[ebuild N ] media-sound/aumix-2.8 +gpm +nls +gtk +gnome +alsa -gtk2
|
Dans l'exemple précédent, vous pouvez voir que l'une des dépendances de
emu10k1 (aumix) utilise les options gtk et gnome,
ce qui implique que gtk (qui, en retour, dépend de xorg-x11) sera compilé aussi.
Si vous ne voulez pas que tout cela soit compilé, désélectionnez toutes ces
options de USE :
Exemple de code 5.3 : Installer emu10k1 avec toutes les options de USE déselectionnées |
# USE="-gpm -nls -gtk -gnome -alsa" emerge --pretend emu10k1
|
Si vous êtes satisfait des résultats, enlevez l'option --pretend pour
débuter l'installation de emu10k1.
Configurer les modules
Vous devriez indiquer la liste des modules que vous souhaitez charger
automatiquement dans /etc/modules.autoload.d/kernel-2.4 (ou
kernel-2.6). 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.4 : Consulter la liste des modules disponibles |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
|
Par exemple, pour charger automatiquement le module 3c59x.o, spécifiez-le
dans le fichier kernel-2.4 ou kernel-2.6 selon le
noyau que vous utilisez.
Exemple de code 5.5 : Modifier le fichier /etc/modules.autoload.d/kernel-2.4 |
# nano -w /etc/modules.autoload.d/kernel-2.4
|
Exemple de code 5.6 : Exemple de fichier /etc/modules.autoload.d/kernel-2.4 ou kernel-2.6 |
3c59x
|
Exécutez maintenant modules-update pour incorporer vos changements au
fichier /etc/modules.conf :
Exemple de code 5.7 : Exécuter modules-update |
# modules-update
|
Poursuivez l'installation avec Configurer
votre système.
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|