Table des matières
- Fuseau horaire
- Installer les sources
- Par défaut : configuration manuelle
- Alternative : utiliser genkernel
- Configurer des modules du noyau individuels
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.
# ls /usr/share/zoneinfo (En supposant que vous utilisez l'heure de Paris.) # cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
Installer les sources
Choisir un noyau
Le coeur 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 produit par les développeurs du noyau Linux), les gentoo-sources (le noyau 2.6 officiel modifié par l'ajout de fonctionnalités servant à améliorer les performances, la sécurité, etc.).
Choisissez les sources à utiliser pour votre noyau et installez-les avec emerge. On utilise USE="-doc" pour éviter d'eventuelles 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.
# 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.
# /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10
Si ce n'est pas le cas (le lien symbolique pointe vers un noyau différent), changez le lien avant de continuer (veuillez remplacer linux-2.6.12-r10 par le nom du noyau que vous utilisez) :
# rm /usr/src/linux # cd /usr/src # ln -s linux-2.6.12-r10 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 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.
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.
# 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.
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
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 :
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, /proc file system et surtout pas /dev file system.
File systems --->
Pseudo Filesystems --->
<*> /proc file system support
< > /dev file system support (OBSOLETE)
<*> 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
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 :
(Seulement pour les noyaux 2.4.x)
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
N'oubliez pas d'activer le support DMA pour vos disques :
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 :
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":
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 :
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.
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
(Cochez 16-bit pour des anciennes cartes PCMCIA)
<*> 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 :
(Pour les noyaux 2.4) # make dep && make bzImage modules modules_install (Pour les noyaux 2.6) # make && make modules_install
Lorsque la compilation est terminée, copiez l'image du noyau dans /boot. Nommez votre noyau comme bon vous semble, mais retenez le nom que lui donnez, car vous devrez l'utiliser quand vous configurerez votre chargeur de démarrage. Vous pourriez utiliser le numéro de version, par exemple :
# cp arch/i386/boot/bzImage /boot/
Maintenant, poursuivez votre lecture avec Configurer des modules du noyau individuels.
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 :
# emerge genkernel
Puis, si vous avez choisi un noyau 2.6, copiez les fichiers de configuration utilisés par le CD d'installation vers le répertoire qui sera utilisé par genkernel.
(Uniquement si vous avez choisi un noyau 2.6.) # zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
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.
# 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.
# 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 :
# emerge coldplug # rc-update add coldplug default
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 :
# find /lib/modules/<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.6 (ou kernel-2.4) selon le noyau que vous utilisez.
(Exemple pour un noyau 2.6.x) # nano -w /etc/modules.autoload.d/kernel-2.6
3c59x
Poursuivez l'installation avec Configurer votre système.