4.1 2005-04-16
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 :

# ls /usr/share/zoneinfo
(En supposant que vous utilisez l'heure de Paris.)
# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
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 Alpha, nous offrons les vanilla-sources (le noyau 2.6 par défaut produit par les développeurs du noyau Linux)

Choisissez les sources à utiliser pour votre noyau et installez-les avec emerge.

L'exemple suivant détaille l'installation des vanilla-sources. Bien sûr, substituez ces sources par celles de votre choix.

# emerge vanilla-sources

Si vous examinez le contenu de /usr/src, vous devriez voir un lien symbolique nommé linux pointant vers les sources de votre noyau :

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

Si ce n'est pas le cas (le lien symbolique pointe vers un noyau différent), changez le lien avant de continuer :

# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.11.2 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 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 CD 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

Now go to File Systems and select support for the filesystems you use. Don't compile them as modules, otherwise your Gentoo system will not be able to mount your partitions. Also select Virtual memory, /proc file system, (/dev file system + Automatically mount at boot only for 2.4 kernel):

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. (pour les noyaux 2.4 uniquement, vous devez également activer /dev file system et Automatically mount at boot).

(Avec un noyau 2.4.x)
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

(Avec un noyau 2.6.x)
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 vous utilisez PPPoE ou un modem classique pour vous connecter à Internet, vous aurez besoin des options du noyau suivantes :

(Avec un noyau 2.4.x)
Network device support --->
  <*> PPP (point-to-point protocol) support
  <*>   PPP support for async serial ports
  <*>   PPP support for sync tty ports

(Avec un noyau 2.6.x)
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.

Les options suivantes sont recommandées :

General setup --->
  <*> SRM environment through procfs
  <*> Configure uac policy via sysctl

Plug and Play configuration --->
  <*> Plug and Play support
  <M>   ISA Plug and Play support

SCSI support --->
  SCSI low-level drivers --->
    <*> SYM53C8XX Version 2 SCSI support (NEW)
    <*> Qlogic ISP SCSI support

Network device support --->
  Ethernet (10 or 100 Mbit) --->
    <M> DECchip Tulip (dc21x4x) PCI support
    <M> Generic DECchip & DIGITAL EtherWORKS PCI/EISA
    <M> EtherExpressPro/100 support (eepro100)
    <M> EtherExpressPro/100 support (e100)
  Ethernet (1000 Mbit) --->
    <M> Alteon AceNIC
      [*] Omit support for old Tigon I
    <M> Broadcom Tigon3
  [*] FDDI driver support
  <M> Digital DEFEA and DEFPA
  <*> PPP support
    <*> PPP Deflate compression

Character devices --->
  [*] Support for console on serial port
  [*] Direct Rendering Manager

File systems --->
  <*> Kernel automounter version 4 support
  Network File Systems --->
    <*> NFS
      [*] NFSv3 client
      <*> NFS server
      [*] NFSv3 server
  Partition Types --->
    [*] Advanced partition selection
    [*] Alpha OSF partition support
  Native Language Support
    <*> NLS ISO 8859-1

Sound --->
  <M> Sound card support
    <M> OSS sound modules
      [*] Verbose initialisation
      [*] Persistent DMA buffers
      <M> 100% Sound Blaster compatibles

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 lancez la compilation :

(pour les noyaux 2.4)
# make dep && make vmlinux modules modules_install

(Pour les noyaux 2.6)
# make && make modules_install

(Et ensuite, quel que soit le noyau)
# make boot

Lorsque la compilation est terminée, copiez l'image du noyau dans /boot. Dans l'exemple suivant, nous supposons que vous avez configuré puis compilé les vanilla-sources-2.6.11.2 ; certains noyaux récents créent vmlinux au lieu de vmlinux.gz.

# cp arch/alpha/boot/vmlinux.gz /boot/
# cp System.map /boot/System.map-2.6.11.2

Il est également sage de copier la configuration du noyau dans /boot. Juste au cas où... :)

# cp .config /boot/config-2.6.11.2

Maintenant, poursuivez votre lecture avec Installer 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

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 devez compiler le support de celui-ci dans le noyau (donc pas comme module) avec la commande genkernel --menuconfig all.

# genkernel all
GenKernel v3.0.1_beta10
* ARCH: Alpha
* KERNEL VER: 2.6.11.2
* kernel: configuring source
* kernel: running mrproper
(La sortie du programme a été tronquée pour améliorer la lisibilité.)
* Kernel compiled successfully!
* Required Kernel Params:
*   : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT
*     where $ROOT is the devicenode for your root partition as
*     you should have specified in /etc/fstab
*
* You MUST tell your bootloader to use the generated initrd
*
* Recommended Kernel Params:
*   : vga=0x317 splash=verbose
*
* Do NOT report kernel bugs (configs included) as genkernel bugs.
* Make sure you have the latest genkernel before reporting bugs
*
* For more info see /usr/share/genkernel/README

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/initrd*

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 boot

Si vous voulez que votre système réagisse au branchement à chaud de périphériques, vous devez installer hotplug :

# emerge hotplug
# rc-update add hotplug default
Installer des modules du noyau individuels Installer des modules supplémentaires

Si nécessaire, vous devrez 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 :

x11-drm Accélération graphique pour les cartes ATI Radeon jusqu'à 9200, Rage128, Matrox, Voodoo et d'autres cartes pour xorg-x11. Vous devriez vérifier la variable IUSE_VIDEO_CARDS dans l'ebuild /usr/portage/x11-base/x11-drm pour connaître les valeurs disponibles pour « votre_carte ». VIDEO_CARDS="votre_carte" emerge x11-drm

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 x11-drm :

# emerge --pretend x11-drm
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 :

# 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.4 ou kernel-2.6 selon le noyau que vous utilisez.

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

Poursuivez l'installation avec Configurer votre système.