Choisir la bonne étape (Stage)

Lorsque nous vous avons proposé de choisir une méthode d'installation (Live CDs, distribution existante, etc...), nous vous avons expliqué quels en étaient le pour et le contre. Un point important est de choisir de quelle étape vous souhaitez partir : préférez-vous effectuer une compilation complète (étape 1 - stage1), ou une compilation sans "bootstrap" (étape 2 - stage2), ou bien encore commencer avec un système de base précompilé (étape 3 - stage3)

Selon la méthode d'installation que vous avez choisie, vous pouvez encore faire un choix. D'autres auront déjà fait ce choix au début de l'installation. Le moment est venu d'installer l'archive étape ("stage") de votre choix.

Les deux parties qui suivent expliquent comment installer l'étape que vous avez choisie. La méthode habituelle est de télécharger l'archive de l'étape qui vous convient. Cependant, certains des Live CDs incluent ces archives sur le CD.

Si vous disposez d'une connexion à Internet, nous vous conseillons d'utiliser la méthode habituelle. Si au contraire vous ne disposez pas d'une connexion, ou si vous comptez installer Gentoo en utilisant la GRP (paquets précompilés), vous devrez opter pour l'alternative.

Méthode habituelle: Télécharger sur Internet Télécharger l'archive d'étape

Allez au point de montage Gentoo, sur lequel vous avez monté vos systèmes de fichiers (probablement /mnt/gentoo):

# cd /mnt/gentoo

En fonction de votre méthode d'installation, vous pouvez utiliser plusieurs outils pour télécharger une archive d'étape. Si lynx est disponible, vous pouvez immédiatement naviguer jusqu'à la liste des miroirs Gentoo, et choisir un miroir proche de chez vous. Choisissez ensuite le répertoire releases, suivi de votre architecture (par exemple x86), de la version de Gentoo (1.4), pour finir avec le sous-répertoire stages. De là, vous devriez voir tous les fichiers d'étape disponibles pour votre architecture. Sélectionnez-en un, et appuyez sur D pour télécharger. Une fois terminé, appuyez sur Q pour quitter le navigateur.

# lynx http://www.gentoo.org/main/en/mirrors.xml

Si vous n'avez pas lynx, vous devriez avoir links2 à votre disposition. links2 est plus puissant que lynx, mais présente quelques inconvénients. L'un de ceux-ci est qu'il ne prend pas en compte les variables de proxy que nous avons déclarées précédemment. Si vous devez passer par un proxy, utilisez links2 -http-proxy proxy.serveur.com:8080. A partir de là, suivez les mêmes instructions que pour lynx, les deux étant équivalents.

(Sans proxy:)   # links2 http://www.gentoo.org/main/en/mirrors.xml
(Avec proxy:)   # links2 -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml
Décompresser l'archive d'étape

Décompressez maintenant sur votre système l'étape que vous venez de télécharger. Nous utilisons GNU tar, car c'est la méthode la plus simple :

# tar -xvjpf stage?-*.tar.bz2

Faites bien attention à utiliser les mêmes options (-xvjpf). Le x signifie Extraire, le v Verbeux (bon d'accord, celui-ci est facultatif), le j Décompresser avec bzip2, le p Préserver les permissions, et le f veut dire que nous désarchivons un fichier d'archive, pas l'entrée standard.

C'est fait? Bien, vous êtes maintenant prêt pour continuer avec la section suivante sur Configurer les Options de Compilation.

Alternative: Utiliser une archive du Live CD Extraire le "tarball" d'étape

Les archives d'étape inclues sur le CD se trouvent dans le répertoire /mnt/cdrom/stages. Pour afficher la liste des étapes disponibles, utilisez ls :

# ls /mnt/cdrom/stages

Si le système répond par une erreur, vous avez peut-être besoin de monter tout d'abord le CD-ROM.

# ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory
# mount /dev/cdroms/cdrom0 /mnt/cdrom
# ls /mnt/cdrom/stages

Rendez-vous maintenant au point de montage Gentoo (habituellement /mnt/gentoo):

# cd /mnt/gentoo

Nous allons maintenant extraire l'archive d'étape de votre choix. Nous le ferons avec l'outil tar de GNU. Faites bien attention à utiliser les mêmes options (-xjvpf)! Dans l'exemple suivant, nous décompressons l'archive d'étape stage3-20031011.tar.bz2. N'oubliez pas d'y substituer le nom de l'étape que vous aurez choisie.

# tar -xvjpf /mnt/cdrom/stages/stage3-20031011.tar.bz2
Installer un instantané de Portage et le code source

Un instantané de Portage est disponible sur certains LiveCDs. Si vous lisez ceci, nous pouvons assumer que vous utilisez un tel LiveCD. Pour installer cet instantané, regardez dans /mnt/cdrom/snapshots/ pour voir quels instantanés sont disponibles :

# ls /mnt/cdrom/snapshots

Décompressez maintenant l'archive avec la commande suivante. Encore une fois, assurez-vous de passer les bonnes options à tar. De plus, le -C est un C majuscule, pas un c. Dans l'exemple suivant, nous utilisons portage-20031011.tar.bz2 comme nom d'instantané. Susbtituez-y votre nom d'archive.

# tar -xvjf /mnt/cdrom/snapshots/portage-20031011.tar.bz2 -C /mnt/gentoo/usr

Vous devrez aussi copier toutes les sources depuis le CD.

# cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles

Si vous comptez utiliser la GRP (binaires précompilés), continuez à lire. Sinon, passez à Configurer les options de compilation.

Optionnel : préparer la GRP

Si vous comptez installer Gentoo en utilisant la GRP (binaires précompilés), vous devez copier tous les paquets dans votre système de fichiers, afin que Portage puisse les utiliser.

# cp -a /mnt/cdrom/packages /mnt/gentoo/usr/portage/packages

Passez maintenant à Configurer les options de compilation.

Configurer les options de compilation Introduction

Pour optimiser Gentoo, vous pouvez définir quelques variables qui influencent le comportement de Portage. Toutes ces variables peuvent être définies comme des variables d'environnement (en utilisant export), mais elles ne sont dans ce cas pas permanentes. Pour conserver votre configuration, vous pouvez utiliser /etc/make.conf, un fichier de configuration de Portage. C'est ce fichier que nous allons éditer maintenant.

Lancez votre éditeur préféré (dans ce guide, nous utiliserons nano), afin que nous puissions modifier les variables d''optimisation décrites ci-dessous.

# nano -w /mnt/gentoo/etc/make.conf

Comme vous le remarquez sans doute à présent, le fichier make.conf est structuré de manière générique : les lignes de commentaires commencent par un "#", les autres définissent des variables en utilisant la syntaxe VARIABLE="contenu". Plusieurs de ces variables sont décrites ci-dessous.

CHOST Bien que cela puisse présenter un intérêt pour les utilisateurs d'autre chose que l'étape 1, ceux-ci ne doivent pas changer la variable CHOST dans make.conf. Le faire pourrait rendre leur système inutilisable. Une fois encore, ne changez la valeur de cette variable qui si vous faites l'installation à l'étape 1.

La variable CHOST définit l'architecture pour laquelle gcc doit compiler des programmes. Les possibilités sont :

x86i386i386-pc-linux-gnux86i486i486-pc-linux-gnux86i586i586-pc-linux-gnux86i686 et plus (athlon inclus)i686-pc-linux-gnualphaalpha-unknown-linux-gnuppcpowerpc-unknown-linux-gnusparcsparc-unknown-linux-gnuhppa(générique)hppa-unknown-linux-gnuhppapa7000hppa1.1-unknown-linux-gnuhppapa8000 et plushppa2.0-unknown-linux-gnumipsmips-unknown-linux-gnu
Architecture Sous-architecture Configuration de CHOST
CFLAGS et CXXFLAGS

Les variables CFLAGS et CXXFLAGS définissent les options d'optimisation pour le compilateur gcc, en C ou C++ respectivement. Bien que nous les définissions de manière générale ici, vous n'obtiendrez des performances maximales qu'en fixant les optimisations individuellement pour chaque programme. La raison en est que chaque programme est différent.

Dans make.conf, vous devriez fixer les options d'optimisation dont vous pensez qu'elles donneront plus de répondant à votre système de manière générale. Ne mettez pas d'options expérimentales dans cette variable, trop d'optimisations peuvent engendrer des comportements anormaux dans certains programmes (plantage ou, pire, fonctionnement défectueux).

Nous n'allons pas expliquer toutes les options d'optimisations possibles. Pour les connaître toutes, consultez Les manuels en ligne GNU, ou la page d'info de gcc (info gcc -- ne marche que sur un système Linux fonctionnel). Le fichier make.conf lui-même contient de nombreux exemples et renseignements, n'oubliez pas non plus de le lire.

Un premier paramètre est l'option -march=, qui spécifie le nom de l'architecture cible. Les options possibles sont décrites dans le fichier make.conf (en commentaires). Par exemple pour l'architecture x86 Athlon XP.

-march=athlon-xp

Un deuxième est l'option -O, qui spécifie la classe d'optimisation de gcc. Les classes possibles sont s (pour optimiser en taille), 0 (pour ne pas optimiser), 1, 2, 3 pour plus d'optimisation de la vitesse d'exécution (chacune de ces classes a les mêmes options que celle qui la précède, plus quelques autres). Par exemple, pour une optimisation de classe 2 :

-O2

D'autres options d'optimisations populaires sont -pipe (utilise des tubes plutôt que des fichiers classiques pour la communication entre les différentes étapes de la compilation), et -fomit-frame-pointer (qui permet de ne pas garder le pointeur de cadre dans un registre, pour les fonctions qui n'en ont pas besoin).

Lorsque vous fixez les variables CFLAGS et CXXFLAGS, vous devez combiner plusieurs options d'optimisation, comme dans l'exemple suivant :

CFLAGS="-march=athlon-xp -pipe -O2"
CXXFLAGS="${CFLAGS}"                  # Utilise les mêmes paramètres pour les deux variables
USE

USE est l'une des plus puissantes options que Gentoo propose à ses utilisateurs. De nombreux programmes peuvent être compilés avec ou sans le support optionnel pour certains éléments. Par exemple, certains programmes peuvent être compilés avec le support gtk, ou le support qt. D'autrees peuvent êtres compilés avec ou sans le support SSL. Certains programmes peuvent même être compilés avec le support "framebuffer" (svgalib) au lieu du support X11 (serveur X).

La plupart des distributions compilent leurs paquets en incluant autant de support optionnel que possible, ce qui augmente la taille des exécutables et le temps de lancement, sans mentionner une quantité énorme de dépendances. C'est ici qu'intervient la variable USE.

Dans la variable USE, vous pouvez définir des mots-clés qui sont associés à des options de compilation. Par exemple, ssl compilera le support ssl dans les programmes qui peuvent l'utiliser. -X retirera le support du serveur X (notez le signe moins devant). gnome gtk -kde -qt compilera vos programmes avec le support gnome (et gtk), et sans le support kde (et qt), ce qui rendra votre système complètement spécialisé pour gnome.

Les paramètres par défaut de USE sont dans /etc/make.profile/make.defaults. Ce que vous placez dans /etc/make.conf est recalculé en fonction de ces valeurs par défaut. Si vous ajoutez quelque chose aux options USE, cela est additionné à la liste par défaut. Si vous enlevez quelque chose des options USE (en plaçant un signe moins devant), cela est soustrait de la liste par défaut (si tant est que cela ait été dans la liste par défaut à l'origine). Ne changez jamais quoique ce soit dans le répertoire /etc/make.profile, ce sera réécrit chaque fois que vous mettrez à jour Portage!

Une déscription complète de USE peut être trouvée dans notre Howto USE . A titre d'exemple, nous montrons une configuration de USE pour un système basé sur KDE, avec du support pour le DVD, ALSA, et la gravure de CD-ROM :

USE="-gtk -gnome qt kde dvd alsa cdr"
ACCEPT_KEYWORDS

Les ebuilds (le format de paquet utilisé par Portage) se trouvent dans une des trois arborescences suivantes. La première est appelée ARCH, ce qui signifie que l'ebuild et ses dépendances sont considérés comme stables, et prêts à une utilisation généralisée. Pour pouvoir utiliser les paquets de ARCH, ACCEPT_KEYWORDS doit contenir votre architecture (soit x86, alpha, ppc, sparc ou hppa) :

ACCEPT_KEYWORDS="x86"

Les deux autres arborescences (~ARCH et les ebuilds masqués en dur) ne sont pas destinés à être utilisées durant l'installation, car elles cassent occasionnellement la procédure d'installation).

MAKEOPTS

Avec MAKEOPTS, vous pouvez définir combien de compilations parallèles doivent être utilisées. Le nombre recommandé est le nombre de processeurs dans votre système plus un.

MAKEOPTS="-j2"
A vos marques, prêts, partez!

Mettez à jour votre /mnt/gentoo/etc/make.conf comme vous le souhaitez, et sauvez. Vous êtes maintenant prêt à continuer avec Installer le système de base Gentoo.