Gentoo Linux x86 Handbook: Installing Gentoo

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Full/Installation and the translation is 100% complete.


Introduction

Bienvenue

Tout d'abord, bienvenue sur Gentoo. Vous êtes sur le point d'entrer dans le monde du choix et de la performance. Gentoo vous donne toujours le choix. Lors de l'installation de Gentoo, ce qui ressort à plusieurs reprises, c'est que les utilisateurs peuvent choisir ce qu'ils veulent compiler eux-mêmes, comment installer Gentoo, quel système de journalisation utiliser, etc.

Openness

Gentoo's premier tools are built from simple programming languages. Portage, Gentoo's package maintenance system, is written in Python. Ebuilds, which provide package definitions for Portage are written in bash. Our users are encouraged to review, modify, and enhance the source code for all parts of Gentoo.

By default, packages are only patched when necessary to fix bugs or provide interoperability within Gentoo. They are installed to the system by compiling source code provided by upstream projects into binary format (although support for precompiled binary packages is included too). Configuring Gentoo happens through text files.

For the above reasons and others: openness is built-in as a design principal.

Choice

Gentoo est une méta-distribution moderne et rapide d'une conception propre et flexible. Gentoo est construite autour du logiciel libre et ne cache rien à ses utilisateurs de ce qui se trouve sous le capot. Portage, le système de gestion des paquets que Gentoo utilise est écrit en Python, ce qui signifie que l'utilisateur peut facilement visualiser et modifier le code source. Le système de gestion des paquets utilise du code source (bien que la prise en charge de paquets pré-compilés soit également incluse) et la configuration de Gentoo se fait via des fichiers de texte normaux. En d'autres termes, l'ouverture est totale.

When installing Gentoo, choice is made clear throughout the Handbook. System administrators can choose two fully supported init systems (Gentoo's own OpenRC and Freedesktop.org's systemd), partition structure for storage disk(s), what file systems to use on the disk(s), a target system profile, remove or add features on a global (system-wide) or package specific level via USE flags, bootloader, network management utility, and much, much more.

As a development philosophy, Gentoo's authors try to avoid forcing users onto a specific system profile or desktop environment. If something is offered in the GNU/Linux ecosystem, it's likely available in Gentoo. If not, then we'd love to see it so. For new package requests please file a bug report or create your own ebuild repository.

Power

Being a source-based operating system allows Gentoo to be ported onto new computer instruction set architectures and also allows all installed packages to be tuned. This strength surfaces another Gentoo design principal: power.

A system administrator who has successfully installed and customized Gentoo has compiled a tailored operating system from source code. The entire operating system can be tuned at a binary level via the mechanisms included in Portage's make.conf file. If so desired, adjustments can be made on a per-package basis, or a package group basis. In fact, entire sets of functionality can be added or removed using USE flags.

Il est très important que tout le monde comprenne que la liberté de choix est ce qui fait vivre Gentoo. Nous essayons de ne pas imposer des choix contre la volonté des utilisateurs. Si vous pensez différemment, s'il vous plaît, faites un rapport de bug !

Comment s'organise l'installation  ?

L'installation de Gentoo se déroule en dix étapes couvertes par les chapitres suivants. Après chaque étape, le système sera dans un état bien défini  :

Étape Résultat
1 L'utilisateur se trouve dans un environnement prêt pour installer Gentoo.
2 La connexion à Internet est configurée pour installer Gentoo.
3 Les disque durs sont initialisés pour accueillir l'installation de Gentoo.
4 L'environnement est prêt pour l'installation et l’utilisateur est prêt à chroot dans le nouvel environnement.
5 Les paquets de base, qui sont les mêmes sur toutes les installations de Gentoo, sont installés.
6 Le noyau Linux est installé.
7 La plupart des fichiers de configuration du système Gentoo sont créés.
8 Les outils indispensables au système sont installés.
9 Le chargeur d’amorçage (bootloader) est installé et configuré.
10 Le nouvel environnement Gentoo Linux est maintenant prêt à être utilisé.

Lorsque plusieurs possibilités sont présentées, le manuel s’efforcera d'expliquer les avantages et les inconvénients de chaque option. Même si le texte continuera ensuite avec celle par défaut (identifiée par le texte « Défaut : » dans le titre), les autres possibilités seront également documentées (identifiées par « Alternative : » dans le titre). Ne pas croire que les choix par défaut représentent les recommandations de Gentoo. Ils indiquent simplement les choix que, selon Gentoo, la plupart des utilisateurs feront.

Parfois, l'utilisateur aura la possibilité de réaliser des actions facultatives. De telles étapes sont identifiées par le texte « Facultatif : » et ne sont pas essentielles pour installer Gentoo. Cependant, certaines options dépendent de choix faits plus tôt. Dans ce cas, les instructions informeront le lecteur au moment de faire le choix et au début de la description de l'étape.

Les options lors l'installation de Gentoo

Gentoo peut être installé de différentes façons. Il peut être téléchargé et installé depuis l'un des supports d'installation officiels tels que nos images ISO bootables. Le support d'installation peut être installé sur une clé USB ou accédé depuis un environnement réseau (netboot). Aussi, Gentoo peut être installé à partir d'un support non officiel tel qu'une autre distribution précédemment installée ou un disque bootable non Gentoo (comme Knoppix).

Ce manuel décrit l'installation à partir d'un support d'installation officiel de Gentoo ou, dans certains cas, à partir d'une autre machine du réseau.

Remarque
Pour obtenir de l'aide sur d'autres approches d'installation, y compris les approches à l'aide de supports bootables non officiels Gentoo, veuillez lire notre guide sur les installations alternatives.

Nous fournissons aussi un document de trucs & astuces pour installer Gentoo qui peut se révéler utile.

Problèmes

Si un problème est rencontré lors de l'installation (ou dans la documentation), consultez notre système de gestion des bogues. Si le problème n'est pas déjà connu, créez un rapport de bogue pour que nous puissions le traiter. Ne soyez pas effrayé par les développeurs auxquels les bogues seront attribués, ils n'ont encore mangé personne.

Même si ce document est propre à une architecture, il peut contenir des références à d'autres architectures, car les manuels pour les différentes architectures ont de nombreuses sections communes (ceci évite le gaspillage d'efforts). De telles références ont été limitées au strict minimum, afin d'éviter toute confusion.

Si un doute existe quant à l'origine d'un problème qui est soit une erreur de l'utilisateur, bien que la documentation ait été soigneusement lue, soit une erreur de Gentoo malgré toute l'attention portée aux tests et à la documentation, tout le monde est le bienvenu sur les canaux #gentoo (webchat) ou #gentoofr (webchat) sur irc.libera.chat pour en discuter. Évidemment, tout le monde est toujours le bienvenu car notre canal de conversation couvre l'ensemble du spectre de Gentoo.

S'il vous reste une question relative à Gentoo, consultez la Foire Aux Questions sur le Wiki de Gentoo. Les FAQs sur les Forums de Gentoo sont également accessibles.




Pré-requis matériels

Avant de commencer, voici la liste des exigences concernant le matériel pour réussir l'installation de Gentoo sur un système x86.


Minimal CD LiveDVD
CPU i486 i686
Mémoire 256 Mo 512 Mo
Espace disque 2.5 Go (sans compter l'espace d'échange)
Espace d'échange 256 Mo

La page du projet X86 est une bonne source d'information concernant le support de Gentoo pour x86.


Support d'installation de Gentoo Linux

Conseil
It is okay to use other, non-Gentoo installation media, although official media is recommended. Gentoo installation media ensures the necessary tools are included in the live operating system environment. When using non-Gentoo media, skip to Preparing the disks.

CD minimal d'installation

Le CD minimal d'installation de Gentoo est une image d'un système Linux minimal autonome sur lequel il est possible de démarrer l'ordinateur. Pendant le chargement, le matériel est détecté et les pilotes appropriés sont chargés. L'image est maintenue par les développeurs de Gentoo et permet d'installer Gentoo via une connexion Internet active.

Le CD minimal d'installation est appelé install-x86-minimal-<release>.iso.

Le LiveDVD occasionnel de Gentoo

De temps à autre, une image DVD spéciale d'installation de Gentoo est conçue. Les instructions fournies dans ce chapitre concernent le CD minimal d'installation et peuvent différer légèrement de celles à appliquer au LiveDVD. Néanmoins, le LiveDVD (ou tout autre environnement Linux amorçable) permet l'obtention d'une invite de commande root via l'exécution des commandes sudo su - ou sudo -i dans un terminal.

Qu’appelle-t-on les archives d'étapes (ou stage) ?

Une archive d'étape 3 contient un environnement Gentoo minimal à partir duquel il est possible d'installer Gentoo sur le système en suivant les instructions de ce manuel. Précédemment, le manuel de Gentoo décrivait l'installation en recourant à une archive parmi trois. Bien que Gentoo mette encore à disposition des archives d'étape 1 et 2, la méthode officielle d'installation utilise l'archive d'étape 3. Si vous tenez absolument à réaliser une installation à partir d'une des archives d'étape 1 ou 2, veuillez consulter la FAQ sur Comment installer Gentoo à partir d'une archive d'étape 1 ou 2 ?

L'archive d'étape 3 peut être téléchargée depuis releases/x86/autobuilds/ sur l'un des miroirs Gentoo officiels. Ces archives sont mises à jour fréquemment et ne sont pas incluses dans les images d'installation officielles.

Téléchargement

Obtenir le support d'installation

Le support d'installation par défaut que Gentoo Linux utilise est le CD minimal d'installation qui héberge un système Gentoo Linux très petit sur lequel il est possible de démarrer l'ordinateur. Cet environnement comprend tous les outils adaptés pour installer Gentoo. Les images CD peuvent être téléchargées depuis la page de téléchargements (recommandé) ou depuis l'un des nombreux miroirs disponibles.

Si le téléchargement s'effectue depuis un miroir, le CD minimal d'installation peut se trouver comme suit :

  1. Allez dans le répertoire releases/.
  2. Naviguez le répertoire correspondant à l'architecture souhaitée (tel que x86/).
  3. Sélectionnez le répertoire autobuilds/.
  4. Pour les architectures amd64 et x86, sélectionnez soit le répertoire current-install-amd64-minimal/ ou current-install-x86-minimal/ (respectivement). Pour toutes les autres architectures, naviguez vers le répertoire current-iso/.
Remarque
Certaines architectures comme arm, mips, et s390 n'ont pas de CD minimal d'installation. Pour l'instant, le Gentoo Release Engineering project ne propose pas d'image .iso pour ces architectures.

Dans cet emplacement, le fichier du support d'installation est le fichier avec l'extension .iso. Prendre pour exemple la liste suivante :

CODE Liste d'exemple des fichiers téléchargeables dans releases/x86/autobuilds/current-iso/
[DIR] hardened/                                          05-Dec-2014 01:42    -   
[   ] install-x86-minimal-20141204.iso                 04-Dec-2014 21:04  208M  
[   ] install-x86-minimal-20141204.iso.CONTENTS        04-Dec-2014 21:04  3.0K  
[   ] install-x86-minimal-20141204.iso.DIGESTS         04-Dec-2014 21:04  740   
[TXT] install-x86-minimal-20141204.iso.DIGESTS.asc     05-Dec-2014 01:42  1.6K  
[   ] stage3-x86-20141204.tar.bz2                      04-Dec-2014 21:04  198M  
[   ] stage3-x86-20141204.tar.bz2.CONTENTS             04-Dec-2014 21:04  4.6M  
[   ] stage3-x86-20141204.tar.bz2.DIGESTS              04-Dec-2014 21:04  720   
[TXT] stage3-x86-20141204.tar.bz2.DIGESTS.asc          05-Dec-2014 01:42  1.5K

Dans l'exemple ci-dessus, le fichier install-x86-minimal-20141204.iso correspond au CD d'installation. Il existe cependant d'autres fichiers qui lui sont relatifs :

  • Un fichier .CONTENTS listant tous les fichiers existants dans le support d'installation. Cela permet de vérifier si un micrologiciel ou un pilote en particulier est disponible avant le téléchargement.
  • Un fichier .DIGESTS qui contient le hachage du fichier ISO avec différents algorithmes et formats. Ce fichier peut permettre de savoir si l'ISO téléchargée est corrompue ou non.

Pour le moment, ne pas se soucier des autres fichiers – ils entreront en scène plus loin dans le processus d'installation. Téléchargez le fichier .iso et, s'il est nécessaire d'en vérifier l'intégrité, téléchargez aussi le fichier .DIGESTS.asc correspondant au fichier ISO. Il n'est pas nécessaire de télécharger le fichier .CONTENTS parce que les instructions d'installation n'y font plus référence et que le fichier .DIGESTS devrait contenir les mêmes informations. Le fichier .DIGESTS.asc contient en plus la signature.

Vérifier les fichiers téléchargés

Remarque
Il s'agit là d'une opération facultative qui n'est pas nécessaire à l'installation de Gentoo Linux, mais elle est néanmoins recommandée.
  1. Tout d'abord, valider la signature cryptographique pour être sûr que le fichier provient bien de la « Gentoo Release Engineering team ».
  2. Si la signature est valide, alors vérifier l'empreinte (somme de contrôle) pour être sûr qu'aucune dégradation ne s'est produite pendant le téléchargement.

Vérifications sur un système Microsoft Windows

Pour vérifier la signature cryptographique, des outils tels que GPG4Win peuvent être utilisés. Après l'installation, les clés publiques de la « Gentoo Release Engineering team » doivent être importées. La liste des clés est disponible sur la page des signatures. Une fois l'importation terminée, l'utilisateur peut vérifier la signature contenue dans le fichier .DIGEST.asc.

Vérifications sur un système Linux

Sur un système GNU/Linux, la méthode la plus courante pour vérifier une signature cryptographique consiste à utiliser le logiciel app-crypt/gnupg. Quand ce paquet est installé, utiliser les commandes suivantes pour vérifier la signature contenue dans le fichier .DIGESTS.asc.

Tout d'abord, téléchargez le jeu de clés adéquat disponible sur la page des signatures :

user $gpg --keyserver hkps://keys.gentoo.org --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net
gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" 1 new signature
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0  valid:   3  signed:  20  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1  valid:  20  signed:  12  trust: 9-, 0q, 0n, 9m, 2f, 0u
gpg: next trustdb check due at 2018-09-15
gpg: Total number processed: 1
gpg:         new signatures: 1

Alternatively you can use instead the WKD to download the key:

--2019-04-19 20:46:32--  https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng
Resolving gentoo.org (gentoo.org)... 89.16.167.134
Connecting to gentoo.org (gentoo.org)|89.16.167.134|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35444 (35K) [application/octet-stream]
Saving to: 'STDOUT'
 
     0K .......... .......... .......... ....                 100% 11.9M=0.003s
 
2019-04-19 20:46:32 (11.9 MB/s) - written to stdout [35444/35444]
 
gpg: key 9E6438C817072058: 84 signatures not checked due to missing keys
gpg: /tmp/test2/trustdb.gpg: trustdb created
gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported
gpg: key BB572E0E2D182910: 12 signatures not checked due to missing keys
gpg: key BB572E0E2D182910: 1 bad signature
gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported
gpg: Total number processed: 2
gpg:               imported: 2
gpg: no ultimately trusted keys found

Or if using official Gentoo release media, import the key from /usr/share/openpgp-keys/gentoo-release.asc (provided by sec-keys/openpgp-keys-gentoo-release):

user $gpg --import /usr/share/openpgp-keys/gentoo-release.asc
gpg: directory '/home/larry/.gnupg' created
gpg: keybox '/home/larry/.gnupg/pubring.kbx' created
gpg: key DB6B8C1F96D8BF6D: 2 signatures not checked due to missing keys
gpg: /home/larry/.gnupg/trustdb.gpg: trustdb created
gpg: key DB6B8C1F96D8BF6D: public key "Gentoo ebuild repository signing key (Automated Signing Key) <infrastructure@gentoo.org>" imported
gpg: key 9E6438C817072058: 3 signatures not checked due to missing keys
gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported
gpg: key BB572E0E2D182910: 1 signature not checked due to a missing key
gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported
gpg: key A13D0EF1914E7A72: 1 signature not checked due to a missing key
gpg: key A13D0EF1914E7A72: public key "Gentoo repository mirrors (automated git signing key) <repomirrorci@gentoo.org>" imported
gpg: Total number processed: 4
gpg:               imported: 4
gpg: no ultimately trusted keys found

Ensuite, vérifiez la signature cryptographique du fichier .DIGESTS.asc :

user $gpg --verify install-x86-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET
gpg:                using RSA key 0xBB572E0E2D182910
gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD  B1BA BB57 2E0E 2D18 2910

Pour être absolument certain que tout est valide, vérifiez l'empreinte digitale affichée avec l'empreinte digitale disponible sur la page de signatures.

Graver un disque

Bien sûr, avec juste un fichier ISO téléchargé, l'installation de Gentoo Linux ne peut pas être démarrée. Le fichier ISO doit être gravé sur un CD de démarrage, et d'une manière telle que son contenu soit gravé sur le CD, pas juste le fichier lui-même. Ci-dessous sont décrites quelques méthodes – des instructions plus élaborées sont disponible dans notre FAQ sur la gravure d'un fichier ISO.

Gravure sous Microsoft Windows

Gravure sous Linux

Sur Linux, l'utilitaire cdrecord du paquet app-cdr/cdrtools peut graver des images ISO.

Pour graver le fichier ISO sur le CD du périphérique /dev/sr0 (c'est le premier lecteur de CD du système, remplacer le chemin vers le périphérique correspondant si besoin) :

user $cdrecord dev=/dev/sr0 install-x86-minimal-20141204.iso

Les utilisateurs qui préfèrent une interface graphique peuvent utiliser K3B, du paquet kde-apps/k3b. Dans K3B, allez dans Outils et choisissez Graver une Image CD.

Démarrage



Démarrer le support d'installation

Une fois le support d'installation prêt, il est temps de le démarrer. Insérez le support dans le système, redémarrez et entrez l'interface utilisateur du microprogramme de la carte mère. Pour ce faire, vous devez généralement appuyer sur une touche du clavier, telle que Suppr, F1, F10, ou Échap au démarrage. La touche de déclenchement varie en fonction du système et de la carte mère. Si ce n’est pas évident, utilisez un moteur de recherche Internet et faites des recherches en utilisant le nom du modèle de la carte mère comme mot-clé de recherche. Les résultats devraient être faciles à déterminer. Une fois dans le menu du microprogramme de la carte mère, modifiez l'ordre de démarrage de sorte que le support de démarrage externe (disques CD/DVD ou clés USB) soit utilisé avant les périphériques de disques internes. Sans cette modification, le système redémarrera probablement sur le disque interne, en ignorant le support de démarrage externe.

Important
Lors de l’installation de Gentoo avec le but d’utiliser l’interface UEFI au lieu du BIOS, il est recommandé de démarrer immédiatement avec UEFI. Dans le cas contraire, vous devrez peut-être créer une clé USB UEFI (ou tout autre support) amorçable avant de finaliser l'installation de Gentoo Linux.

Si ce n'est déjà fait, assurez-vous que le support d'installation soit inséré ou connecté au système, puis redémarrez. Une invite de démarrage devrait être affichée. Sur cet écran, Entrée lancera le processus de démarrage avec les options par défaut. Pour amorcer le support d'installation avec des options d'amorçage personnalisées, spécifiez un noyau suivi des options d'amorçage, puis appuyez sur Entrée.

Remarque
Selon toute vraisemblance, le noyau gentoo par défaut, tel que mentionné ci-dessus, sans spécifier aucun des paramètres optionnels, fonctionnera très bien. Pour le dépannage du démarrage et les options d'experts, continuez avec cette section. Sinon, appuyez simplement sur Enter et passez directement à Configuration matérielle supplémentaire.

À l'invite de démarrage, les utilisateurs ont la possibilité d'afficher les noyaux disponibles (F1) et les options de démarrage (F2). Si aucun choix n'est fait dans les 15 secondes, le support d'installation revient au démarrage à partir du disque. Cela permet aux installations de redémarrer et d’essayer leur environnement installé sans avoir à retirer le CD du plateau (ce qui est très apprécié pour les installations à distance).

Spécifier un noyau a été mentionné. Sur le support d'installation minimal, seules deux options prédéfinies de démarrage du noyau sont fournies. L'option par défaut s'appelle gentoo. L'autre étant la variante -nofb ; cela désactive le support du framebuffer dans le noyau.

La section suivante affiche un bref aperçu des noyaux disponibles et leur description :

Choix du noyau

gentoo
Noyau par défaut avec support des processeurs K8 (support NUMA inclut) et EM64T.
gentoo-nofb
Même chose que gentoo mais sans le support des framebuffer.
memtest86
Teste la mémoire locale RAM pour erreurs .

Outre le choix du noyau, les options de démarrage permettent d’optimiser davantage le processus de démarrage.

Options matérielles

acpi=on
Permet la prise en charge d'ACPI et entraîne également le démarrage du démon acpid par le CD lors du démarrage. Cela n’est nécessaire que si le système exige que ACPI fonctionne correctement. Cela n'est pas requis pour le support Hyperthreading.
acpi=off
Désactive complètement ACPI. Ceci est utile sur certains systèmes plus anciens et est également nécessaire pour utiliser APM. Cela désactivera tout support Hyperthreading de votre processeur.
console=X
Configure l’accès série à la console pour le CD. La première option est le périphérique, généralement ttyS0, suivi des options de connexion éventuellement séparées par une virgule. Les options par défaut sont 9600,8,n,1.
dmraid=X
Permet de transmettre des options au sous-système device-mapper RAID. Les options doivent être encapsulées entre guillemets.
doapm
Charge le support du pilote APM. Cela nécessite également acpi=off.
dopcmcia
Permet la prise en charge du matériel PCMCIA et Cardbus et provoque également le démarrage de pcmcia cardmgr par le CD au démarrage. Cela n’est requis que lors du démarrage à partir de périphériques PCMCIA/Cardbus.
doscsi
Charge la plupart des contrôleurs SCSI. Cela est également nécessaire pour démarrer la plupart des périphériques USB, car ils utilisent le sous-système SCSI du noyau.
sda=stroke
Permet à l'utilisateur de partitionner tout le disque dur même lorsque le BIOS est incapable de gérer des disques de grande taille. Cette option est uniquement utilisée sur les ordinateurs dotés d’un BIOS plus ancien. Remplacez sda par le périphérique nécessitant cette option.
ide=nodma
Force la désactivation de DMA dans le noyau, ce qui est requis par certains chipsets IDE ainsi que par certains lecteurs de CD-ROM. Si le système rencontre des difficultés pour lire le CD-ROM IDE, essayez cette option. Cela désactive également l'exécution des paramètres hdparm par défaut.
noapic
Désactive le contrôleur d'interruption programmable avancé présent sur les cartes mères les plus récentes. Il est connu pour causer des problèmes sur du matériel ancien.
nodetect
Désactive toute la détection automatique effectuée par le CD, y compris la détection automatique des périphériques et la détection DHCP. Cela est utile pour déboguer un CD ou un pilote défaillant.
nodhcp
Désactive la détection DHCP sur les cartes réseau détectées. Cela est utile sur les réseaux possédant uniquement des adresses statiques.
nodmraid
Désactive la prise en charge du périphérique RAID mapper, tel que celui utilisé pour les contrôleurs RAID IDE/SATA intégrés.
nofirewire
Désactive le chargement des modules Firewire. Cela ne devrait être nécessaire que si votre matériel Firewire pose un problème lors du démarrage du CD.
nogpm
Désactive le support de la souris de la console gpm.
nohotplug
Désactive le chargement des scripts d'initialisation hotplug et coldplug au démarrage. Cela est utile pour déboguer un CD ou un pilote défaillant.
nokeymap
Désactive la sélection de clavier utilisée pour sélectionner des dispositions de clavier non américaines.
nolapic
Désactive l’APIC local sur les noyaux d’unprocesseur.
nosata
Désactive le chargement des modules Serial ATA. A utiliser si le système rencontre des problèmes avec le sous-système SATA.
nosmp
Désactive SMP, ou le multitraitement symétrique, sur les noyaux activés pour SMP. Cela est utile pour déboguer les problèmes liés à SMP avec certains pilotes et cartes mères.
nosound
Désactive la prise en charge du son et le réglage du volume. Cela est utile pour les systèmes où une assistance audio pose des problèmes.
nousb
Désactive le chargement automatique des modules USB. Cela est utile pour le débogage des problèmes USB.
slowusb
Ajoute des pauses supplémentaires au processus de démarrage pour les CDROM USB lents, comme dans IBM BladeCenter.

Gestion des volumes/périphériques logiques

dolvm
Permet la prise en charge de la gestion des volumes logiques Linux.

Autres options

debug
Active le code de débogage. Cela peut devenir compliqué, car cette option affiche beaucoup de données à l'écran.
docache
Cela met en cache la totalité de la partie d'exécution du CD dans la RAM, ce qui permet à l'utilisateur de démonter /mnt/cdrom et de monter un autre CD-ROM. Cette option nécessite au moins deux fois plus de RAM disponible que la taille du CD.
doload=X
Fait que le ramdisk initial charge tous les modules listés, ainsi que leurs dépendances. Remplacez X par le nom du module. Plusieurs modules peuvent être spécifiés par une liste séparée par des virgules.
dosshd
Lance sshd au démarrage, ce qui est utile pour les installations à distance.
passwd=foo
Définit ce qui suit comme mot de passe root, qui est requis pour dosshd car le mot de passe root est par défaut crypté.
noload=X
Fait que le ramdisk initial ignore le chargement d’un module spécifique pouvant être à l’origine d’un problème. La syntaxe correspond à celle de doload.
nonfs
Désactive le démarrage de portmap/nfsmount au démarrage.
nox
Permet qu'un LiveCD compatible X ne démarre pas automatiquement X, mais passe plutôt à la ligne de commande.
scandelay
Cela provoque une pause du CD de 10 secondes pendant certaines parties du processus d’amorçage pour permettre aux périphériques dont l’initialisation est lente d’être prêts à être utilisés.
scandelay=X
Cela permet à l'utilisateur de spécifier un délai donné, en secondes, à ajouter à certaines parties du processus de démarrage pour permettre aux périphériques dont l'initialisation est lente d'être prêts à être utilisés. Remplacez X par un nombre de secondes.
Remarque
Le support de démarrage vérifiera les options no* avant les options do*, afin que les options puissent être remplacées dans l'ordre exact spécifié.

Maintenant, démarrez le support, sélectionnez un noyau (si le noyau par défaut gentoo ne suffit pas) et les options d’amorçage. Par exemple, nous démarrons le noyau gentoo avec dopcmcia en tant que paramètre du noyau :

boot:gentoo dopcmcia

Ensuite, l'utilisateur sera accueilli avec un écran de démarrage et une barre de progression. Si l'installation est effectuée sur un système utilisant un clavier non américain, pensez à appuyer immédiatement sur Alt+F1 pour passer en mode commenté et suivez les instructions. Si aucune sélection n'est effectuée dans les 10 secondes, la valeur par défaut (clavier américain) sera acceptée et le processus de démarrage se poursuivra. Une fois le processus de démarrage terminé, l’utilisateur est automatiquement connecté à l’environnement Gentoo Linux « Live » en tant qu’utilisateur root, le super-utilisateur. Une invite racine est affichée sur la console actuelle et vous pouvez passer à d'autres consoles en appuyant sur Alt+F2, Alt+F3, et Alt+F4. Pour revenir à la première, appuyez sur Alt+F1.



Configuration matérielle supplémentaire

Lorsque le support d'installation démarre, il tente de détecter le matériel et charge les modules appropriés du noyau pour prendre en compte le matériel. Dans la grande majorité des cas, il fait un très bon travail. Toutefois, dans certains cas, il peut ne pas charger automatiquement les modules du noyau nécessaires au système. Si la détection automatique du bus PCI a oublié certains matériels du système, les modules appropriés du noyau doivent être chargées manuellement.

Dans l'exemple suivant, le module 8139too (qui prend en charge certains types d'interfaces réseau) est chargé :

root #modprobe 8139too

Facultatif : Comptes utilisateurs

Si d'autres personnes ont besoin d'accéder à l'environnement d'installation, ou s'il est nécessaire d'exécuter des commandes en tant qu'utilisateur non-root sur le support d'installation (comme pour discuter sur IRC à l'aide de irssi sans être root pour des raisons de sécurité), alors un compte d'utilisateur supplémentaire doit être créé et un mot de passe root robuste défini.

Pour changer le mot de passe root, utilisez l'utilitaire passwd :

root #passwd

Pour créer un compte d'utilisateur, entrez d'abord ses informations d'identification, suivies par le mot de passe du compte. Les commandes useradd et passwd sont utilisées pour ces tâches.

Dans l'exemple suivant, un utilisateur appelé jean est créé :

root #useradd -m -G users jean
root #passwd jean
New password: (Entrez le mot de passe de jean)
Re-enter password: (Entrez de nouveau le mot de passe de jean)

Pour passer de l'utilisateur root à l'utilisateur fraîchement créé, utilisez la commande su :

root #su - jean

Facultatif : Consulter la documentation pendant l'installation

TTYs

Pour afficher le manuel Gentoo lors de l'installation, créez tout d'abord un compte utilisateur, comme décrit ci-dessus. Puis appuyez sur Alt+F2 pour accéder à un nouveau terminal.

Lors de l'installation, la commande links peut être utilisée pour parcourir le manuel Gentoo - bien sûr cela nécessite que la connexion Internet fonctionne.

user $links https://wiki.gentoo.org/wiki/Handbook:X86/fr

Pour revenir au terminal d'origine, appuyez sur Alt+F1.

Conseil
When booted to the Gentoo minimal or Gentoo admin environments, seven TTYs will be available. They can be switched by pressing Alt then a function key between F1-F7. It can be useful to switch to a new terminal when waiting for job to complete, to open documentation, etc.

GNU Screen

L'utilitaire Screen est installé par défaut sur le support d'installation officiel de Gentoo. Il peut être plus efficace pour un utilisateur de Linux expérimenté d'utiliser screen afin de visualiser les instructions d'installation dans un cadre séparé plutôt que d'utiliser la technique des multiples TTY mentionnée ci-dessus.

Facultatif : démarrer le daemon SSH

Pour permettre à d'autres utilisateurs d'accéder au système lors de l'installation (peut-être pour obtenir de l'aide lors d'une installation, ou même la faire à distance), un compte utilisateur doit être créé (comme documenté plus tôt) et le serveur SSH doit être démarré.

Pour lancer le daemon SSH sur un système d'initialisation OpenRC, exécutez la commande suivante :

root #rc-service sshd start
Remarque
Si un utilisateur ouvre une session sur le système, il reçoit un message indiquant que la clé d'hôte pour ce système doit être confirmée (par le biais de ce qu'on appelle une empreinte digitale). Ceci est dû au fait que c'est la première fois que quelqu'un ouvre une session sur le système. Cependant, plus tard, lorsque le système est mis en place et que quelqu'un se connecte sur le nouveau système, le client SSH l'avertit que la clé de l'hôte a été changée. C'est parce que l'utilisateur – pour SSH – se connecte désormais à un serveur différent (à savoir le système Gentoo fraîchement installé plutôt qu'à l'environnement en cours d'utilisation pour l'installation ). Suivre alors les instructions données à l'écran pour remplacer la clé de l'hôte sur le système client.

Pour être en mesure d'utiliser sshd, le réseau a besoin de fonctionner correctement. Continuez l'installation avec le chapitre Configurer le réseau .





Détection automatique du réseau

Il est possible que la connexion au réseau soit déjà opérationnelle.

Si le système est connecté à un réseau Ethernet ayant un serveur DHCP, il est très probable que la connexion ait déjà été configurée automatiquement. Si tel est le cas, les nombreuses commandes réseau incluses sur le média d'installation, telles que ssh, scp, ping, irssi, wget, et links, fonctionneront immédiatement.

Déterminer les noms des interfaces

La commande ifconfig

Si le réseau est configuré, la commande ifconfig doit lister une ou plusieurs interfaces réseau (outre lo). Dans l'example ci-dessous, eth0 est affiché :

root #ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11 Base address:0xe800 

Suite à l'évolution vers des noms d'interfaces réseau prévisibles (EN), le nom des interfaces peut différer de l'ancien système de nommage en eth0. Les supports d'installation peuvent afficher des noms d'interface tels que eno0, ens1, ou encore enp5s0. Cherchez l'interface ayant une IP adresse liée au réseau local dans le résultat de la commande ifconfig.

Conseil
Si aucune interface n'est affichée lors de l'utilisation de la commande ifconfig, essayerz d'ajouter l'option -a. Cette option force l'utilitaire à afficher toutes les interfaces réseau détectées par le système quelque soit leur état d'activation. Si ifconfig -a ne produit aucun résultat alors le matériel est défectueux ou les pilotes de l'interface réseau n'ont pas été chargés dans le noyau. Ces deux cas ne sont pas couverts dans ce guide. Contactez le support #gentoo (webchat).

La commande ip

La commande ip peut être utilisée comme alternative à ifconfig pour déterminer les noms des interfaces. L'exemple suivant montre le résultat de la commande ip addr (d'un système différent que celui des exemples précédents) :

root #ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
    inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ea40:f2ff:feac:257a/64 scope link 
       valid_lft forever preferred_lft forever

La sortie ci-dessus peut être plus compliquée à comprendre que celle de ifconfig. Dans cet exemple, le nom de l'interface suit directement le numéro ; c'est eno1.

Dans le reste de ce document, il sera assumé que l'interface réseau s'appelle eth0.

Facultatif : Configurer tous les proxys

Si l'Internet est accessible via un proxy, il est nécessaire de définir des informations de proxy lors de l'installation. Il est très facile de définir un proxy : il suffit de définir une variable qui contient les informations du serveur proxy.

Certain text-mode web browsers such as links can also make use of environment variables that define web proxy settings; in particular for the HTTPS access it also will require the https_proxy environment variable to be defined. While Portage will be influenced without passing extra run time parameters during invocation, links will require proxy settings to be set.

Dans la plupart des cas, il suffit de définir les variables à l'aide du nom d'hôte du serveur. Comme exemple, nous supposons que le proxy est appelé proxy.gentoo.org et le port 8080.

Remarque
The # symbol in the following commands is a comment. It has een added for clarity only and does not need to be typed when entering the commands.

Pour configurer un proxy HTTP (pour le trafic HTTP et HTTPS) :

root #export http_proxy="http://proxy.gentoo.org:8080"

Si le serveur proxy requiert un nom d'utilisateur et un mot de passe, utilisez la syntaxe suivante pour définir la variable :

CODE Ajouter un nom d'utilisateur/mot de passe à la variable proxy
http://username:password@proxy.gentoo.org:8080

Start links using the following parameters for proxy support:

user $links -http-proxy ${http_proxy} -https-proxy ${https_proxy}

Pour configurer un proxy FTP :

root #export ftp_proxy="ftp://proxy.gentoo.org:8080"

Start links using the following parameter for a FTP proxy:

user $links -ftp-proxy ${ftp_proxy}

Pour configurer un proxy RSYNC :

root #export RSYNC_PROXY="proxy.gentoo.org:8080"

Tester le réseau

Essayez d'interroger le serveur DNS de votre fournisseur (qui se trouve dans /etc/resolv.conf) et un site web de votre choix. Cela garantit que le réseau fonctionne correctement, que les paquets arrivent sur le net, que la résolution de nom du serveur DNS fonctionne correctement, etc...

root #ping -c 3 www.gentoo.org

Si tout cela fonctionne, alors le reste de ce chapitre peut être ignoré pour passer directement à l'étape suivante de la procédure d'installation (Préparer les disques).

Configuration automatique du réseau

Si le réseau ne fonctionne pas immédiatement, certains supports d'installation permettent à l'utilisateur d'utiliser les commandes net-setup (pour des réseaux filaires et sans fil), pppoe-setup (pour les utilisateurs de l'ADSL) ou pptp (pour des utilisateurs PPTP).

Si le support d'installation ne contient aucun de ces outils, continuer avec la Configuration Manuelle du réseau.

Par défaut : utilisation de net-setup

La manière la plus simple de configurer la mise en réseau si cette configuration ne s'est pas produite automatiquement, est de lancer le script net-setup :

root #net-setup eth0

L'exécution de la commande net-setup posera quelques questions au sujet de l'environnement réseau. À la fin, la connexion réseau devrait fonctionner. Testez la connexion réseau comme indiqué précédemment. Si les tests sont positifs, félicitations ! Ignorez le reste de cette section et continuez avec Préparer les disques.

Si le réseau ne fonctionne toujours pas, continuer avec configuration manuelle du réseau.

Alternative : utilisation de PPP

En supposant que le protocole PPPoE est nécessaire pour se connecter à l'Internet, le CD d'installation (toute version) a rendu les choses encore plus faciles grâce à ppp. Utilisez le script pppoe-setup pour configurer la connexion. Lors de l'installation, le périphérique Ethernet connecté au modem ADSL, le nom d'utilisateur, le mot de passe, les adresses IP des serveurs DNS et si un pare-feu de base est nécessaire ou non seront demandés.

root #pppoe-setup
root #pppoe-start

Si quelque chose ne va pas, vérifiez que le nom d'utilisateur et le mot de passe soient corrects en regardant dans /etc/ppp/pap-secrets ou /etc/ppp/chap-secrets et assurez-vous d'utiliser le bon périphérique Ethernet. Si le périphérique Ethernet n'existe pas, les modules réseau appropriés doivent être chargés. Dans ce cas, continuez avec Configuration manuelle du réseau qui expliquera comment charger les modules réseau nécessaires.

Si tout a fonctionné, continuez avec Préparer les disques.

Alternative : utilisation de PPTP

Si le support PPTP est nécessaire, utilisez la commande pptpclient qui est fournie par le CD d'installation. Mais d'abord, assurez-vous que la configuration soit correcte. Modifiez le fichier /etc/ppp/pap-secrets ou /etc/ppp/chap-secrets pour qu'il contienne le bon nom d'utilisateur et mot de passe :

root #nano -w /etc/ppp/chap-secrets

Puis peaufinez de/etc/ppp/options.pptp si nécessaire :

root #nano -w /etc/ppp/options.pptp

Quand tout cela est fait, il suffit d'exécuter pptp (avec les options qui n'ont pu être définies dans options.pptp) pour se connecter au serveur :

root #pptp <IPv4 du serveur>

Continuez maintenant avec Préparer les disques.

Configuration manuelle du réseau

Charger les modules du noyau appropriés pour le réseau

Lorsque le CD d'Installation démarre, il tente de détecter les périphériques et charge les modules du noyau appropriés (les pilotes) afin de prendre en compte le matériel. Dans la grande majorité des cas, il fait un très bon travail. Cependant, dans certains cas, il peut ne pas charger automatiquement les modules du noyau nécessaires pour communiquer correctement avec le matériel réseau actuel.

Si net-setup ou pppoe-setup n'a pas réussi, alors il est possible que la carte réseau n'ait pas été trouvée immédiatement. Cela signifie que les utilisateurs peuvent avoir à charger les modules du noyau appropriés manuellement.

Pour savoir quels modules du noyau sont fournis pour la mise en réseau, utilisez la commande ls :

root #ls /lib/modules/`uname -r`/kernel/drivers/net

Si un pilote est trouvé pour le périphérique réseau, utilisez la commande modprobe pour charger le module du noyau. Par exemple, pour charger le module pcnet32 :

root #modprobe pcnet32

Pour vérifier si la carte réseau est maintenant détectée, utilisez la commande ifconfig. Une carte réseau détectée aboutirait à quelque chose comme ceci (encore une fois, eth0 ici est juste un exemple) :

root #ifconfig eth0
eth0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
          BROADCAST NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Si, toutefois, le message d'erreur suivant s'affiche, la carte réseau n'est pas détectée :

root #ifconfig eth0
eth0: error fetching interface information: Device not found

Les noms d'interface réseau disponibles sur le système peuvent être énumérés par le système de fichiers /sys :

root #ls /sys/class/net
dummy0  eth0  lo  sit0  tap0  wlan0

Dans l'exemple ci-dessus, 6 interfaces sont trouvées. eth0 est probablement l'adaptateur Ethernet (câble) alors que wlan0 est l'adaptateur sans fil.

En supposant que la carte réseau soit maintenant détectée, réessayez la commande net-setup ou pppoe-setup (qui devrait maintenant fonctionner), mais pour les inconditionnels, ce manuel explique aussi comment configurer le réseau manuellement.

Sélectionnez l'une des sections suivantes en prenant en compte la configuration du réseau

Utiliser DHCP

DHCP (Dynamic Host Configuration Protocol - Protocole de Configuration Dynamique des Hôtes) rend possible le fait de recevoir automatiquement des informations de mise en réseau (adresse IP, masque de sous-réseau, adresse de diffusion, passerelle, serveurs de noms, etc.). Cela ne fonctionne que si un serveur DHCP existe dans le réseau (ou si le fournisseur d'accès internet fournit un service DHCP). Pour qu'une interface réseau reçoive automatiquement ces informations, utilisez le daemon dhcpcd :

root #dhcpcd eth0

Certains administrateurs de réseau exigent que le nom d'hôte et le nom de domaine fourni par le serveur DHCP soient utilisés par le système. Dans ce cas, utilisez :

root #dhcpcd -HD eth0

Si cela fonctionne (essayez d'interroger un serveur sur Internet, comme Google (8.8.8.8) ou Cloudflare (1.1.1.1)), alors tout est réglé et prêt à continuer. Ignorez le reste de cette section et continuez avec Préparer les disques.

Configurer l'accès sans fil

Remarque
La prise en charge de la commande iwconfig peut être spécifique à l'architecture. Si la commande n'est pas disponible, voir si le paquet net-wireless/iw est disponible pour l'architecture actuelle. La commande iw sera indisponible tant que le paquet net-wireless/iw n'aura pas été installé.

Lors de l'utilisation d'une carte réseau sans fil (802.11), les paramètres sans fil doivent être configurés avant d'aller plus loin. Pour voir les paramètres sans fil de la carte, on peut utiliser la commande iw. L'exécution de iw pourrait donner quelque chose qui ressemble à ceci :

root #iw dev wlp9s0 info
Interface wlp9s0
	ifindex 3
	wdev 0x1
	addr 00:00:00:00:00:00
	type managed
	wiphy 0
	channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz
	txpower 30.00 dBm

Pour vérifier si une connexion active existe :

root #iw dev wlp9s0 link
Not connected.

ou

root #iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0)
	SSID: GentooNode
	freq: 2462
	RX: 3279 bytes (25 packets)
	TX: 1049 bytes (7 packets)
	signal: -23 dBm
	tx bitrate: 1.0 MBit/s
Remarque
Certaines cartes sans fil peuvent avoir un nom de périphérique wlan0 ou ra0 au lieu de wlp9s0. Exécutez ip link pour déterminer le nom correct du périphérique.

Pour la plupart des utilisateurs, il y a seulement deux paramètres importants pour se connecter, l'ESSID (ou nom du réseau sans fil) et, accessoirement, la clé WEP.

  • S'assurer d'abord que l'interface soit activée :
root #ip link set dev wlp9s0 up
  • Pour se connecter à un réseau public portant le nom GentooNode :
root #iw dev wlp9s0 connect -w GentooNode
  • Pour se connecter avec une clé WEP hexadécimale, préfixez la clé avec d: :
root #iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
  • Pour se connecter avec une clé WEP ASCII :
root #iw dev wlp9s0 connect -w GentooNode key 0:<mot-de-passe>
Remarque
Si le réseau sans fil est configuré avec WPA ou WPA2, alors wpa_supplicant doit être utilisé. Pour plus d'informations sur la configuration des réseaux sans fil sous Gentoo Linux, lire le chapitre sur les réseaux sans fil du manuel de Gentoo.

Confirmez les paramètres sans fil en utilisant la commande iw dev wlp9s0 link. Une fois que le réseau sans fil fonctionne, poursuivre avec la configuration des options réseau au niveau de l'adresse IP comme décrit dans la section suivante (Comprendre la terminologie réseau) ou utilisez l'outil net-setup comme décrit précédemment.

Comprendre la terminologie réseau

Remarque
Si l'adresse IP, adresse de diffusion, le masque de sous-réseau et les serveurs de noms sont connus, sautez ce paragraphe et continuez avec Utiliser ifconfig et route.

Si tout ce qui précède échoue, le réseau doit être configuré manuellement. Ce n'est pas difficile du tout. Cependant, une certaine connaissance de la terminologie des réseaux et des concepts de base est nécessaire. Après la lecture de cette section, les utilisateurs devraient savoir ce qu'est une passerelle, à quoi sert un masque de sous-réseau, de quoi est constituée une adresse de diffusion et pourquoi les systèmes ont besoin de serveurs de noms.

Dans un réseau, les machines sont identifiées par leur adresse IP (adresse de Protocole Internet). Une telle adresse est perçue comme une combinaison de quatre nombres entre 0 et 255, tout du moins lors de l'utilisation d'IPv4 (IP version 4). En réalité, une telle adresse IPv4 se compose de 32 bits (des uns et des zéros). Voyons un exemple :

CODE Exemple d'adresse IPv4
Adresse IP (nombre décimaux) : 192.168.0.2
Adresse IP (bits) :            11000000 10101000 00000000 00000010
                               -------- -------- -------- --------
                               192      168       0        2
Remarque
Le successeur d'IPv4, IPv6, utilise 128 bits. Dans cette section, l'accent est mis sur les adresses IPv4.

Il est facile de comprendre que tout hôte que quelqu'un est en mesure d'atteindre sur un réseau doit avoir une adresse IP unique. Afin de distinguer entre les hôtes à l'intérieur et à l'extérieur d'un réseau, l'adresse IP est divisée en deux parties: la partie réseau et la partie hôte.

La séparation est déterminée par le masque de sous-réseau qui est une suite de 1 suivie d'une suite de 0. La partie de l'adresse IP qui correspond aux 1 définit la partie réseau, l'autre partie définit la partie hôte.

CODE Exemple de séparation entre réseau et hôte
Adresse IP :                 192      168      0         2
                           11000000 10101000 00000000 00000010
Masque de sous-réseau :    11111111 11111111 11111111 00000000
                             255      255     255        0
                          +--------------------------+--------+
                                    Réseau              Hôte

En d'autres termes, 192.168.0.14 fait toujours partie du réseau d'exemple, mais pas 192.168.1.2.

L'adresse de diffusion est une adresse IP avec la même partie réseau que le réseau, mais seulement avec des 1 pour la partie hôte. Chaque hôte sur le réseau est à l'écoute à cette adresse IP. Elle est vraiment destinée à la diffusion de paquets.

CODE Adresse de diffusion
Adresse IP :               192      168      0         2
                        11000000 10101000 00000000 00000010
Adresse de diffusion :  11000000 10101000 00000000 11111111
                           192      168      0        255
                        +--------------------------+--------+
                                 Réseau              Hôte

Pour pouvoir naviguer sur Internet, chaque ordinateur du réseau doit connaître l'hôte qui partage la connexion Internet. Cet hôte est appelé la passerelle. Comme c'est un hôte comme les autres, il possède une adresse IP sur le réseau (par exemple 192.168.0.1).

Précédemment, nous avons dit que chaque machine possède sa propre adresse IP. Pour être en mesure d'atteindre cet hôte par un nom (au lieu d'une adresse IP), nous avons besoin d'un service qui puisse traduire un nom (comme dev.gentoo.org) en une adresse IP (comme 64.5.62.82). Un tel service est appelé serveur de noms. Pour utiliser un tel service, les serveurs de noms nécessaires doivent être définis dans /etc/resolv.conf.

Dans certains cas, la passerelle sert également de serveur de noms. Sinon les serveurs de noms fournis par le fournisseur d'accès Internet (FAI) doivent être inscrits dans ce fichier.

Pour résumer, les informations suivantes sont nécessaires avant de continuer:

Élément réseau Exemple
L'adresse IP du système 192.168.0.2
Masque de sous-réseau 255.255.255.0
Adresse de diffusion 192.168.0.255
Adresse de la passerelle 192.168.0.1
Serveurs de noms 195.130.130.5, 195.130.130.133

Utiliser ifconfig et route

En utilisant les outils du paquet sys-apps/net-tools, la configuration manuelle du réseau se compose généralement de trois étapes :

  1. Assigner une adresse IP en utilisant la commande ifconfig
  2. Configurer la route vers la passerelle en utilisant la commande route
  3. Terminer en mettant les IPs des serveurs de noms valides dans le fichier /etc/resolv.conf

Pour attribuer une adresse IP, l'adresse IP, l'adresse de diffusion et le masque de sous-réseau sont nécessaires. Exécutez la commande suivante, en remplaçant ${IP_ADDR} par l'adresse IP cible, ${BROADCAST} par l'adresse de diffusion cible et ${NETMASK} par le masque de sous-réseau cible :

root #ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up

Pour configurer le routage à l'aide de la commande route, substituez ${GATEWAY} par l'adresse IP de la passerelle appropriée :

root #route add default gw ${GATEWAY}

Maintenant, ouvrez le fichier /etc/resolv.conf en utilisant un éditeur de texte :

root #nano -w /etc/resolv.conf

Remplissez les serveur de noms en vous servant de ce qui suit comme d'un modèle. Substituez ${NAMESERVER1} et ${NAMESERVER2} par les adresses IP des serveurs de noms tel que nécessaire. Plus d'un serveur de noms peut être ajouté :

FILE /etc/resolv.confModèle par défaut à utiliser pour /etc/resolv.conf
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}

C'est tout. Maintenant testez le réseau par un ping vers un serveur Internet (comme Google 8.8.8.8 ou Cloudflare 1.1.1.1). Si cela fonctionne, félicitations. Continuez avec Préparer les disques.





Introduction aux périphériques de type bloc

Les périphériques de type bloc

Étudions en détail les aspects de Gentoo et de Linux en général qui concernent les disques, incluant les périphériques de type bloc, les partitions, et les systèmes de fichiers de Linux. Une fois que les tenants et les aboutissants des disques seront compris, il sera possible d'établir les partitions et les systèmes de fichiers pour l'installation.

Pour commencer, intéressons-nous aux périphériques de type bloc. Les disques SCSI et Serial ATA sont tous les deux étiquetés avec des noms de périphérique tels que : /dev/sda, /dev/sdb, /dev/sdc, etc. Sur des machines plus modernes, les disques SSD NVMe basés sur PCI Express ont des noms de périphérique tels que : /dev/nvme0n1, /dev/nvme0n2, etc.

Le tableau suivant aidera les lecteurs à déterminer où trouver certaines catégories de périphériques de type bloc sur le système :

Type of device Default device handle Editorial notes and considerations
IDE, SATA, SAS, SCSI, or USB flash /dev/sda Found on hardware from roughly 2007 until the present, this device handle is perhaps the most commonly used in Linux. These types of devices can be connected via the SATA bus, SCSI, USB bus as block storage. As example, the first partition on the first SATA device is called /dev/sda1.
NVM Express (NVMe) /dev/nvme0n1 The latest in solid state technology, NVMe drives are connected to the PCI Express bus and have the fastest transfer block speeds on the market. Systems from around 2014 and newer may have support for NVMe hardware. The first partition on the first NVMe device is called /dev/nvme0n1p1.
MMC, eMMC, and SD /dev/mmcblk0 embedded MMC devices, SD cards, and other types of memory cards can be useful for data storage. That said, many systems may not permit booting from these types of devices. It is suggested to not use these devices for active Linux installations; rather consider using them to transfer files, which is their typical design intention. Alternatively this storage type could be useful for short-term file backups or snapshots.

Les périphériques de type bloc ci-dessus représentent une interface abstraite pour le disque. Les programmes utilisateurs peuvent utiliser ces périphériques de type bloc pour interagir avec le disque sans se soucier de savoir s'il est SATA, SCSI ou quelque chose d'autre. Le programme peut simplement adresser le stockage sur le disque comme un groupe de blocs contigus de 4096 octets (4K), accessibles aléatoirement.



Tables de partition

Bien qu’il soit théoriquement possible d’utiliser un disque brut et non partitionné pour héberger un système Linux (lors de la création d’un RAID btrfs par exemple), cela n’est réellement jamais fait. Les périphériques de bloc de disque sont scindés en blocs plus petits, plus faciles à gérer. Pour l’architecture x86, on appelle ces blocs des partitions. Deux technologies de partitionnement standard sont actuellement disponibles : MBR et GPT.

GPT

La configuration GPT (GUID Partition Table) utilise des identifiants 64 bits pour les partitions. L'emplacement dans lequel elle stocke les informations de partition est beaucoup plus grand que les 512 octets d'un MBR, ce qui signifie qu'il n'y a pratiquement aucune limite sur le nombre de partitions d'un disque GPT. De plus, la taille d'une partition est limitée par une limite beaucoup plus grande (presque 8 Zo - oui, zettaoctets).

Lorsque l'interface logicielle entre le système d'exploitation et le micrologiciel est UEFI (au lieu du BIOS), GPT est presque obligatoire car des problèmes de compatibilité surviennent avec MBR.

GPT profite également de l'utilisation de la somme de contrôle et de la redondance. Il utilise les sommes de contrôle CRC32 pour détecter les erreurs dans les tables d'en-tête et de partition et dispose d'une sauvegarde GPT en fin de disque. Cette table de sauvegarde peut être utilisée pour réparer les dommages subis par le GPT principal situé au début du disque.

Important
There are a few caveats regarding GPT:
  • Using GPT on a BIOS-based computer works, but then one cannot dual-boot with a Microsoft Windows operating system. The reason is that Microsoft Windows will boot in UEFI mode if it detects a GPT partition label.
  • Some buggy (old) motherboard firmware configured to boot in BIOS/CSM/legacy mode might also have problems with booting from GPT labeled disks.

MBR

La configuration MBR (Master Boot Record) utilise des identifiants 32 bits pour le secteur de démarrage et la longueur des partitions et prend en charge trois types de partitions : primaire, étendue et logique. Les partitions primaires stockent leurs informations directement dans le MBR - un très petit emplacement (généralement 512 octets) au tout début d’un disque. En raison de cet espace restreint, seules quatre partitions primaires sont prises en charge (par exemple, /dev/sda1 à /dev/sda4).

Pour prendre en charge davantage de partitions, l’une des partitions primaire peut être marquée en tant que partition étendue. Cette partition peut alors contenir des partitions logiques (des partitions dans une partition).

Important
Bien que toujours prises en charge par la plupart des fabricants de cartes mères, les tables de partitions MBR sont considérées comme anciennes. Si vous ne travaillez pas avec du matériel antérieur à 2010, il est préférable de partitionner un disque à l'aide d'une Table de partition GUID. Les lecteurs qui veulent poursuivre avec MBR doivent reconnaître les informations suivantes :
  • La plupart des cartes mères sorties après 2010 considèrent le MBR comme un mode de démarrage ancien (pris en charge, mais pas idéal).
  • En raison de l'utilisation d'identificateurs 32 bits, le MBR ne peut pas gérer les disques dont la taille est supérieure à 2 To.
  • À moins de créer une partition étendue, le MBR prend en charge un maximum de quatre partitions.
  • La configuration du MBR ne fournit aucun MBR de sauvegarde. Par conséquent, si une application ou un utilisateur écrase le MBR, toutes les informations sur la partition sont perdues.

Les auteurs de ce manuel suggèrent d'utiliser GPT autant que possible pour les installations de Gentoo.

Stockage avancé

Le CD d'installation x86 supporte la gestion par volumes logiques (Logical Volume Manager - LVM). LVM augmente la flexibilité offerte par la configuration du partitionnement. Les instructions d'installation ci-dessous se concentrent sur des partitions normales, mais il est bon de savoir que LVM est pris en charge si cette route est souhaitée. Visitez l'article LVM/fr pour plus de détails. Les nouveaux utilisateurs doivent se méfier : bien que LVM soit entièrement pris en charge, son utilisation n’entre pas dans le cadre de ce manuel.

Schéma de partitionnement par défaut

Throughout the remainder of the handbook, we will discuss and explain two cases:

  1. GUID Partition Table (GPT) and UEFI boot.
  2. MBR Partition Table and MBR DOS/legacy BIOS boot.

While it is possible to mix and match boot types with certain motherboard firmware, mixing goes beyond the intention of the handbook. As previously stated, it is strongly recommended for installations on modern hardware to use GPT and UEFI boot.

Le schéma de partitionnement suivant sera utilisé comme exemple simple :

Important
The first row of the following table contains exclusive information for either a GPT disk label or a MBR DOS/legacy BIOS disk label. When in doubt, proceed with GPT, since x86 machines manufactured after the year 2010 generally support UEFI firmware and GPT boot sector.
Partition Système de fichiers Taille Description
/dev/sda2 fat32 (UEFI) ou ext4 (BIOS) 256M Partition Boot/EFI
/dev/sda2 (swap) Taille de la RAM * 2 Partition swap
/dev/sda3 ext4 Espace restant sur le disque Partition Racine

Si cela est suffisant et que le lecteur emprunte la route GPT, il peut immédiatement passer à Défaut : utiliser Parted pour partitionner le disque. Ceux qui sont toujours intéressés par l'utilisation de MBR et qui utilisent l'exemple de paritionnement peuvent aller à Alternative : utiliser fdisk pour partitionner le disque.

Both fdisk and parted are partitioning utilities included within the official Gentoo live image environments. fdisk is well known, stable, and handles both MBR and GPT disks. parted was one of the first Linux block device management utilities to support GPT partitions. It can be used as an alternative to fdisk if the reader prefers, however the handbook will only provide instructions for fdisk, since since it is commonly available on most Linux environments.

Before going to the creation instructions, the first set of sections will describe in more detail how partitioning schemes can be created and mention some common pitfalls.

Designing a partition scheme

How many partitions and how big?

The design of disk partition layout is highly dependent on the demands of the system and the file system(s) applied to the device. If there are lots of users, then it is advised to have /home on a separate partition which will increase security and make backups and other types of maintenance easier. If Gentoo is being installed to perform as a mail server, then /var should be a separate partition as all mails are stored inside the /var directory. Game servers may have a separate /opt partition since most gaming server software is installed therein. The reason for these recommendations is similar to the /home directory: security, backups, and maintenance.

In most situations on Gentoo, /usr and /var should be kept relatively large in size. /usr hosts the majority of applications available on the system and the Linux kernel sources (under /usr/src). By default, /var hosts the Gentoo ebuild repository (located at /var/db/repos/gentoo) which, depending on the file system, generally consumes around 650 MiB of disk space. This space estimate excludes the /var/cache/distfiles and /var/cache/binpkgs directories, which will gradually fill with source files and (optionally) binary packages respectively as they are added to the system.

How many partitions and how big very much depends on considering the trade-offs and choosing the best option for the circumstance. Separate partitions or volumes have the following advantages:

  • Choose the best performing filesystem for each partition or volume.
  • The entire system cannot run out of free space if one defunct tool is continuously writing files to a partition or volume.
  • If necessary, file system checks are reduced in time, as multiple checks can be done in parallel (although this advantage is realized more with multiple disks than it is with multiple partitions).
  • Security can be enhanced by mounting some partitions or volumes read-only, nosuid (setuid bits are ignored), noexec (executable bits are ignored), etc.


However, multiple partitions have certain disadvantages as well:

  • If not configured properly, the system might have lots of free space on one partition and little free space on another.
  • A separate partition for /usr/ may require the administrator to boot with an initramfs to mount the partition before other boot scripts start. Since the generation and maintenance of an initramfs is beyond the scope of this handbook, we recommend that newcomers do not use a separate partition for /usr/.
  • There is also a 15-partition limit for SCSI and SATA unless the disk uses GPT labels.
Remarque
Installations that intend to use systemd as the service and init system must have the /usr directory available at boot, either as part of the root filesystem or mounted via an initramfs.

What about swap space?

There is no perfect value for swap space size. The purpose of the space is to provide disk storage to the kernel when internal memory (RAM) is under pressure. A swap space allows for the kernel to move memory pages that are not likely to be accessed soon to disk (swap or page-out), which will free memory in RAM for the current task. Of course, if the pages swapped to disk are suddenly needed, they will need to be put back in memory (page-in) which will take considerably longer than reading from RAM (as disks are very slow compared to internal memory).

When a system is not going to run memory intensive applications or has lots of RAM available, then it probably does not need much swap space. However do note in case of hibernation that swap space is used to store the entire contents of memory (likely on desktop and laptop systems rather than on server systems). If the system requires support for hibernation, then swap space larger than or equal to the amount of memory is necessary.

As a general rule, the swap space size is recommended to be twice the internal memory (RAM). For systems with multiple hard disks, it is wise to create one swap partition on each disk so that they can be utilized for parallel read/write operations. The faster a disk can swap, the faster the system will run when data in swap space must be accessed. When choosing between rotational and solid state disks, it is better for performance to put swap on the SSD. Also, swap files can be used as an alternative to swap partitions; this is mostly interesting for systems with very limited disk space.

Utiliser UEFI

Lors de l'installation de Gentoo sur un système utilisant UEFI pour démarrer le système d'exploitation (au lieu de BIOS), il est important de créer une Partition Système EFI (ESP). Les instructions pour parted ci-dessous contiennent les indication nécessaires à la bonne réalisation de cette opération.

L'ESP doit être une variante FAT (parfois indiquée par vfat sur les systèmes Linux). La spécification UEFI (EN) officielle indique que les systèmes de fichiers FAT12, 16 ou 32 seront reconnus par le microprogramme UEFI, bien que FAT32 soit recommandé pour l'ESP. Procédez au formatage de l'ESP en FAT32 :

root #mkfs.fat -F 32 /dev/sda2
Important
Si une variante FAT n'est pas utilisée pour l'ESP, le micrologiciel UEFI du système n'est pas sûr de trouver le chargeur de démarrage (ou le noyau Linux) et ne sera probablement pas en mesure de démarrer le système !

What is the BIOS boot partition?

A BIOS boot partition is only needed when combining a GPT partition layout with GRUB2 in BIOS/Legacy boot mode. It is not required when booting in EFI/UEFI mode, and also not required when using a MBR table. It is a very small (1 to 2 MB) partition in which boot loaders like GRUB2 can put additional data that doesn't fit in the allocated storage. It will not be used in this guide.

Alternative : utiliser fdisk pour partitionner le disque.

The following parts explain how to create an example partition layout for a single GPT disk device which will conform to the UEFI Specification and Discoverable Partitions Specification (DPS). DPS is a specification provided as part of the Linux Userspace API (UAPI) Group Specification and is recommended, but entirely optional. The specifications are implemented using the fdisk utility, which is part of the sys-apps/util-linux package.

The table provides a recommended defaults for a trivial Gentoo installation. Additional partitions can be added according to personal preference or system design goals.

Device path (sysfs) Mount point File system DPS UUID (PARTUUID) Description
/dev/sda1 c12a7328-f81f-11d2-ba4b-00a0c93ec93b EFI system partition (ESP) details.
/dev/sda3 N/A. Swap is not mounted to the filesystem like a device file. 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f Swap partition details.
/dev/sda4 / xfs 44479540-f297-41b2-9af7-d131d5f0458a Root partition details.

Viewing the current partition layout

fdisk is a popular and powerful tool to split a disk into partitions. Fire up fdisk against the disk (in our example, we use /dev/sda):

root #fdisk /dev/sda

Use the p key to display the disk's current partition configuration:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 21AAD8CF-DB67-0F43-9374-416C7A4E31EA
 
Device        Start      End  Sectors  Size Type
/dev/sda1      2048   526335   524288  256M EFI System
/dev/sda2    526336  2623487  2097152    1G Linux swap
/dev/sda3   2623488 19400703 16777216    8G Linux filesystem
/dev/sda4  19400704 60549086 41148383 19.6G Linux filesystem

Device Start End Sectors Size Type /dev/sda1 2048 2099199 2097152 1G EFI System /dev/sda2 2099200 10487807 8388608 4G Linux swap /dev/sda3 10487808 60549119 50061311 23.9G Linux filesystem

}}

This particular disk was configured to house two Linux filesystems (each with a corresponding partition listed as "Linux") as well as a swap partition (listed as "Linux swap").

Creating a new disklabel / removing all partitions

Type g to create a new GPT disklabel on the disk; this will remove all existing partitions.

Command (m for help):g
Created a new GPT disklabel (GUID: 87EA4497-2722-DF43-A954-368E46AE5C5F).

For an existing GPT disklabel (see the output of p above), alternatively consider removing the existing partitions one by one from the disk. Type d to delete a partition. For instance, to delete an existing /dev/sda1:

Command (m for help):d
Partition number (1-4): 1

The partition has now been scheduled for deletion. It will no longer show up when printing the list of partitions (p, but it will not be erased until the changes have been saved. This allows users to abort the operation if a mistake was made - in that case, type q immediately and hit Enter and the partition will not be deleted.

Repeatedly type p to print out a partition listing and then type d and the number of the partition to delete it. Eventually, the partition table will be empty:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 87EA4497-2722-DF43-A954-368E46AE5C5F

Now that the in-memory partition table is empty, we're ready to create the partitions.

Creating the EFI System Partition (ESP)

Remarque
A smaller ESP is possible but not recommended, especially given it may be shared with other OSes.

First create a small EFI system partition, which will also be mounted as /boot. Type n to create a new partition, followed by 1 to select the first partition. When prompted for the first sector, make sure it starts from 2048 (which may be needed for the boot loader) and hit Enter. When prompted for the last sector, type +1G to create a partition 1 GByte in size:

Command (m for help):n
Partition number (1-128, default 1): 1
First sector (2048-60549086, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-60549086, default 60549086): +256M
 
Created a new partition 1 of type 'Linux filesystem' and of size 256 MiB.

Mark the partition as EFI system partition:

Command (m for help):t
Selected partition 1
Partition type (type L to list all types): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.

Creating the swap partition

Next, to create the swap partition, type n to create a new partition, then type 2 to create the second partition, /dev/sda2. When prompted for the first sector, hit Enter. When prompted for the last sector, type +4G (or any other size needed for the swap space) to create a partition 4GB in size.

Command (m for help):n
Partition number (2-128, default 2): 
First sector (526336-60549086, default 526336): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-60549086, default 60549086): +4G
 
Created a new partition 2 of type 'Linux filesystem' and of size 4 GiB.

After all this is done, type t to set the partition type, 2 to select the partition just created and then type in 19 to set the partition type to "Linux Swap".

Command (m for help):t
Partition number (1,2, default 2): 2
Partition type (type L to list all types): 19
 
Changed type of partition 'Linux filesystem' to 'Linux swap'.

Creating the root partition

Finally, to create the root partition, type n to create a new partition. Then type 3 to create the third partition, /dev/sda3. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to create a partition that takes up the rest of the remaining space on the disk. After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 87EA4497-2722-DF43-A954-368E46AE5C5F
 
Device       Start      End  Sectors  Size Type
/dev/sda1     2048   526335   524288  256M EFI System
/dev/sda2   526336  8914943  8388608    4G Linux swap
/dev/sda3  8914944 60549086 51634143 24.6G Linux filesystem

Saving the partition layout

To save the partition layout and exit fdisk, type w.

Command (m for help):w

With the partitions created, it is now time to put filesystems on them.

Partitioning the disk with MBR for BIOS / legacy boot

The following table provides a recommended partition layout for a trivial MBR DOS / legacy BIOS boot installation. Additional partitions can be added according to personal preference or system design goals.

Device path (sysfs) Mount point File system DPS UUID (PARTUUID) Description
/dev/sda2 ext4 N/A MBR DOS / legacy BIOS boot partition details.
/dev/sda3 N/A. Swap is not mounted to the filesystem like a device file. 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f Swap partition details.
/dev/sda4 / xfs 44479540-f297-41b2-9af7-d131d5f0458a Root partition details.

Change the partition layout according to personal preference.

Viewing the current partition layout

Fire up fdisk against the disk (in our example, we use /dev/sda):

root #fdisk /dev/sda

Use the p key to display the disk's current partition configuration:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 21AAD8CF-DB67-0F43-9374-416C7A4E31EA
 
Device        Start      End  Sectors  Size Type
/dev/sda1      2048   526335   524288  256M EFI System
/dev/sda2    526336  2623487  2097152    1G Linux swap
/dev/sda3   2623488 19400703 16777216    8G Linux filesystem
/dev/sda4  19400704 60549086 41148383 19.6G Linux filesystem

This particular disk was until now configured to house two Linux filesystems (each with a corresponding partition listed as "Linux") as well as a swap partition (listed as "Linux swap"), using a GPT table.

Creating a new disklabel / removing all partitions

Type o to create a new MBR disklabel (here also named DOS disklabel) on the disk; this will remove all existing partitions.

Command (m for help):o
Created a new DOS disklabel with disk identifier 0xe04e67c4.
The device contains 'gpt' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

For an existing DOS disklabel (see the output of p above), alternatively consider removing the existing partitions one by one from the disk. Type d to delete a partition. For instance, to delete an existing /dev/sda1:

Command (m for help):d
Partition number (1-4): 1

The partition has now been scheduled for deletion. It will no longer show up when printing the list of partitions (p, but it will not be erased until the changes have been saved. This allows users to abort the operation if a mistake was made - in that case, type q immediately and hit Enter and the partition will not be deleted.

Repeatedly type p to print out a partition listing and then type d and the number of the partition to delete it. Eventually, the partition table will be empty:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe04e67c4

Now we're ready to create the partitions.

Creating the boot partition

First, create a small partition which will be mounted as /boot. Type n to create a new partition, followed by p for a primary partition and 1 to select the first primary partition. When prompted for the first sector, make sure it starts from 2048 (which may be needed for the boot loader) and hit Enter. When prompted for the last sector, type +1G to create a partition 1 GB in size:

Command (m for help):n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-60549119, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-60549119, default 60549119): +256M
 
Created a new partition 1 of type 'Linux' and of size 256 MiB.

Creating the swap partition

Next, to create the swap partition, type n to create a new partition, then p, then type 2 to create the second primary partition, /dev/sda2. When prompted for the first sector, hit Enter. When prompted for the last sector, type +4G (or any other size needed for the swap space) to create a partition 4GB in size.

Command (m for help):n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (526336-60549119, default 526336): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-60549119, default 60549119): +4G
 
Created a new partition 2 of type 'Linux' and of size 4 GiB.

After all this is done, type t to set the partition type, 2 to select the partition just created and then type in 82 to set the partition type to "Linux Swap".

Command (m for help):t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82

<div lang="en" dir="ltr" class="mw-content-ltr">
Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Creating the root partition

Finally, to create the root partition, type n to create a new partition. Then type p and 3 to create the third primary partition, /dev/sda3. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to create a partition that takes up the rest of the remaining space on the disk. After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe04e67c4
 
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1          2048   526335   524288  256M 83 Linux
/dev/sda2        526336  8914943  8388608    4G 82 Linux swap / Solaris
/dev/sda3       8914944 60549119 51634176 24.6G 83 Linux

Saving the partition layout

To save the partition layout and exit fdisk, type w.

Command (m for help):w

Now it is time to put filesystems on the partitions.



Créer des systèmes de fichiers

Attention !
If using an SSD or NVMe drive, please check if it needs a firmware upgrade. Some Intel SSDs in particular (600p and 6000p) require a firmware upgrade for critical bug fixes avoid data corruption induced by XFS I/O usage patterns (though not through any fault of the filesystem). smartctl can help check the model and firmware version.

Introduction

Maintenant que les partitions ont été créées, il est temps d'y placer un système de fichiers. Dans la section suivante les différents systèmes de fichiers que Linux prend en charge seront décris. Les lecteurs qui connaissent déjà quel système de fichiers utiliser peuvent continuer avec Appliquer un système de fichiers à une partition. Les autres devraient continuer à lire pour en apprendre plus sur les systèmes de fichiers disponibles.

Les systèmes de fichiers

Plusieurs systèmes de fichiers sont disponibles. Certains d'entre eux sont considérés stables sur l'architecture x86 - il est conseillé de se renseigner sur les systèmes de fichiers et leur prise en charge avant d'en choisir un plus expérimental pour les partitions importantes.

btrfs
Un système de fichiers de nouvelle génération offrant de nombreuses fonctionnalités avancées telles que l'instantané, l'auto-guérison via des sommes de contrôle, la compression transparente, les sous-volumes et le RAID intégré. Quelques distributions ont commencé à l'expédier comme une option prête à l'emploi, mais il n'est pas encore prêt pour la production. Les rapports de corruption du système de fichiers sont courants. Ses développeurs incitent les gens à utiliser la dernière version du noyau pour la sécurité car les plus anciens ont des problèmes connus. Cela a été le cas pendant des années et il est trop tôt pour dire si les choses ont changé. Les correctifs pour les problèmes de corruption sont rarement rétro-portés vers les noyaux plus anciens. Procéder avec prudence lors de l'utilisation de ce système de fichiers !
ext2
Il s'agit du système de fichiers Linux éprouvé, mais il n'a pas de journalisation des métadonnées, ce qui signifie que les vérifications de routine du système de fichiers ext2 au démarrage peuvent prendre beaucoup de temps. Il y a maintenant une grande sélection de systèmes de fichiers journalisés de nouvelle génération dont la cohérence peut être vérifiée très rapidement et qui sont donc généralement préférés à leurs homologues non journalisés. Les systèmes de fichiers journalisés empêchent les retards importants lorsque le système est démarré et que le système de fichiers se trouve dans un état incohérent.
ext3
La version journalisée du système de fichiers ext2, fournissant la journalisation des métadonnées pour une récupération rapide en plus d'autres modes de journalisation améliorés tels que les données complètes et la journalisation ordonnée des données. Il utilise un indice HTree qui permet des performances élevées dans presque toutes les situations. En bref, ext3 est un système de fichiers très bon et fiable.
ext4
Initialement créé en tant que fork de ext3, ext4 apporte de nouvelles fonctionnalités, des améliorations de performances et la suppression des limites de taille avec des modifications modérées du format sur le disque. Il peut couvrir des volumes allant jusqu'à 1 Eo, et avec une taille de fichier maximale de 16 To. Au lieu de l'allocation de blocs bitmap ext2/3 classique, ext4 utilise des extensions, ce qui améliore les performances des fichiers volumineux et réduit la fragmentation. Ext4 fournit également des algorithmes d'allocation de blocs plus sophistiqués (allocation différée et allocation multi-bloc) donnant au conducteur du système de fichiers plus de moyens d'optimiser la disposition des données sur le disque. Ext4 est le système de fichiers multi plate-forme tout usage recommandé.
f2fs
Le système de fichiers Flash-Friendly a été créé par Samsung pour l'utilisation avec la mémoire flash NAND. Depuis le deuxième trimestre 2016, ce système de fichiers est encore considéré comme immature, mais c'est un choix décent lors de l'installation de Gentoo sur des cartes microSD, des clés USB ou autres périphériques de stockage flash.
JFS
Le système de fichiers de journalisation hautes performances d'IBM. JFS est un système de fichiers basé sur l'arborescence B+ étantà la fois léger, rapide et fiable avec de bonnes performances dans diverses conditions.
ReiserFS
Un système de fichiers journalisé basé sur l'arborescence B+ qui a de bonnes performances globales, en particulier lorsqu'il s'agit de traiter de nombreux fichiers minuscules au prix de plusieurs cycles de processeur. ReiserFS semble être moins bien entretenu que les autres systèmes de fichiers.
XFS
Un système de fichiers avec journalisation des métadonnées, doté d'un ensemble de fonctionnalités robuste et optimisé pour l'évolutivité. XFS semble être moins indulgent dans le cas de problèmes matériels.
vfat
Également connu sous le nom FAT32, ce format est pris en charge par Linux mais ne prend pas en charge les paramètres d'autorisation. Il est principalement utilisé pour l'interopérabilité avec d'autres systèmes d'exploitation (principalement Microsoft Windows) mais est également une nécessité pour certains micrologiciels systèmes (comme UEFI).
NTFS
Ce système de fichiers New Technology est le système de fichiers phare de Microsoft Windows. Similaire à vfat ci-dessus, il ne stocke pas les paramètres d'autorisation ni les attributs étendus nécessaires au bon fonctionnement de BSD ou de Linux. Il ne peut donc pas être utilisé comme système de fichiers racine. Il devrait seulement être utilisé pour l'interopérabilité avec les systèmes Microsoft Windows (noter l'emphase sur seulement).

More extensive information on filesystems can be found in the community maintained Filesystem article.

Appliquer un système de fichiers à une partition

Remarque
Please make sure to emerge the relevant package for the chosen filesystem later on in the handbook, before rebooting at the end of the install process.

Pour créer un système de fichiers sur une partition ou un volume, des outils sont disponibles pour chaque système de fichiers. Cliquer sur le nom du système de fichiers dans le tableau ci-dessous pour plus d'informations sur chaque système de fichiers :

Système de fichiers Commande pour la création Sur le CD minimal ? Paquet
btrfs mkfs.btrfs Oui sys-fs/btrfs-progs
ext4 mkfs.ext4 Oui sys-fs/e2fsprogs
f2fs mkfs.f2fs Oui sys-fs/f2fs-tools
jfs mkfs.jfs Oui sys-fs/jfsutils
reiserfs mkfs.reiserfs Oui sys-fs/reiserfsprogs
xfs mkfs.xfs Oui sys-fs/xfsprogs
vfat mkfs.vfat Oui sys-fs/dosfstools
NTFS mkfs.ntfs Oui sys-fs/ntfs3g

Par exemple, pour avoir la partition système EFI (/dev/sda2) en FAT32 et la partition racine (/dev/sda4) en ext4 comme utilisé dans l'exemple de structuration des partitions, les commandes suivantes doivent être utilisées :

root #mkfs.vfat -F 32 /dev/sda2
root #mkfs.ext4 /dev/sda4

Lors de l'utilisation de ext4 sur une petite partition (moins de 8 Gio), le système de fichiers doit être créé avec les options appropriées pour réserver suffisamment de nœuds d'index ou inodes. Pour cela, utiliser la commande suivante :

root #mkfs.ext4 -T small /dev/<device>

En général, ceci quadruple le nombre d' inodes pour un système de fichiers étant donné que son paramètre bytes-per-inode passe de un tous les 16 ko à un tous les 4 ko.

Maintenant, créez les systèmes de fichiers sur les partitions nouvellement créées (ou sur les volumes logiques).

Activer la partition d'échange

mkswap est la commande à utiliser pour initialiser les partitions d'échange :

root #mkswap /dev/sda3

Pour activer la partition d'échange, utilisez la commande swapon :

root #swapon /dev/sda3

Créez et activez la partition d'échange avec les commandes mentionnées ci-dessus.

Monter la partition racine

Conseil
Users of non-Gentoo installation media will need to create the mount point by running:
root #mkdir --parents /mnt/gentoo

Maintenant que les partitions ont été initialisées et hébergent un système de fichiers, il est temps de les monter. Utilisez la commande mount, mais n'oubliez pas de créer les points de montage nécessaires pour chaque partition. À titre d'exemple, nous montons la partition racine :

root #mount /dev/sda4 /mnt/gentoo
Remarque
Si /tmp/ doit se trouver sur une partition séparée, pensez à changer ses droits d'accès après le montage :
root #chmod 1777 /mnt/gentoo/tmp
Cela vaut également pour /var/tmp.

Plus loin dans les instructions, le système de fichiers proc (une interface virtuelle avec le noyau) ainsi que d'autres pseudos systèmes de fichiers du noyau seront montés. Mais d'abord, nous devons installer les fichiers d'installation de Gentoo.





Installation d'une archive tar

Réglage de la date et de l'heure

Avant d'installer Gentoo, il est bon de s'assurer que la date et l'heure soit réglées correctement. Une horloge mal configurée peut entraîner des résultats plutôt étranges, c'est pourquoi les fichiers systèmes doivent être extraits avec des horodatages précis. En fait, en raison de plusieurs sites Web et services utilisant des communications cryptées (SSL/TLS), il peut ne pas être possible de télécharger les fichiers d'installation si l'horloge système est trop déréglée !

Vérifiez la date et l'heure actuelle avec la commande date :

root #date
Mon Oct  3 13:16:22 PDT 2021

Si la date affichée est décalée de plus de quelques minutes, elle devrait être mise à jour avec précision en utilisant l'une des méthodes ci-dessous.

Automatiquement

La plupart des lecteurs souhaiteront que leur système mette la date à jour automatiquement via un serveur de temps.

Remarque
Les cartes mères qui n'incluent pas une horloge en temps réel (Real-Time Clock (RTC)) doivent être configurées de façon à automatiquement synchroniser l'horloge système avec un serveur de temps. Cela est également vrai pour les systèmes qui incluent une RTC mais ont une batterie défaillante.

Les environnements live Gentoo officiels incluent la commande ntpd (disponible avec le paquet net-misc/ntp) et un fichier de configuration pointant vers les serveur de temps de ntp.org. Il est ainsi possible de synchroniser l'heure du système à l'heure UTC mais cette méthode nécessite une configuration du réseau fonctionnelle et peut ainsi être inutilisable sous certaines architectures.

Attention !
La synchronisation automatique vient à un prix. Elle révélera l'adresse IP du système et des informations spécifiques sur le réseau à un serveur de temps (dans le cas de l’exemple ci-dessous, au serveur ntp.org). Les utilisateurs ayant des problèmes de confidentialité doivent en être conscients avant de régler l'horloge système en utilisant la méthode ci-dessous.
root #ntpd -q -g

Manuellement

Pour les systèmes n'ayant pas accès à un serveur de temps, la commande date peut également être utilisée pour effectuer un réglage manuel de l'horloge du système. Elle utilise le format suivant pour son argument : MMJJhhmmAAAA (Mois, Jour, heure, minute, Année).

L'heure UTC est recommandée pour tous les systèmes Linux. Un fuseau horaire sera défini plus loin dans l'installation ; cela fera afficher l'heure locale par l'horloge.

Par exemple, pour régler la date au 3 Octobre 2021 à 13:16 :

root #date 100313162021

Choix d'une archive tar

Remarque
Not every architecture has a multilib option. Many only run with native code. Multilib is most commonly applied to amd64.

Multilib (32 et 64 bits)

Choisir une archive tar pour le système peut faire économiser beaucoup de temps plus tard dans le processus d'installation, notamment quand il est temps de choisir un profil système. Le choix d'une archive tar impactera directement la configuration future du système et peut éviter les maux de tête dans le futur. L'archive multilib utilise des bibliothèques 64 bits lorsque cela est possible et ne se replie que sur de versions 32 bits pour régler des problèmes de compatibilité. C'est une option excellente pour la majorité des installations car elle permet une grande flexibilité de personnalisation par le futur. Ceux qui souhaitent leur système capable de changer facilement de profil devraient télécharger l'archive tar multilib pour leur architecture de processeur respective.

La plupart des utilisateurs ne devrait pas utiliser les options d'archive tar 'avancées' ; elles existent pour des configurations logicielles et matérielles spécifiques.

No-multilib (64 bits pur)

Choisir une archive tar no-multilib en tant que base du système fournit un environnement de système d'exploitation 64 bits complet. Cela rend la capacité à passer vers des profils multilib improbable, bien que techniquement toujours possible.

Attention !
Les utilisateurs débutant avec Gentoo ne devraient pas choisir une archive tar no-multilib à moins que cela ne soit absolument nécessaire. La migration d'un système no-multilib vers un système multilib nécessite une connaissance avancée du fonctionnement de Gentoo et de la chaîne d'outils de niveau inférieur (cela peut même faire frémir nos développeurs Toolchain). Ce n'est pas pour les cœurs fragiles et cela dépasse largement la portée de ce guide.

OpenRC

OpenRC is a dependency-based init system (responsible for starting up system services once the kernel has booted) that maintains compatibility with the system provided init program, normally located in /sbin/init. It is Gentoo's native and original init system, but is also deployed by a few other Linux distributions and BSD systems.

OpenRC does not function as a replacement for the /sbin/init file by default and is 100% compatible with Gentoo init scripts. This means a solution can be found to run the dozens of daemons in the Gentoo ebuild repository.

systemd

systemd is a modern SysV-style init and rc replacement for Linux systems. It is used as the primary init system by a majority of Linux distributions. systemd is fully supported in Gentoo and works for its intended purpose. If something seems lacking in the Handbook for a systemd install path, review the systemd article before asking for support.

Remarque
It is technically possible to switch a running Gentoo installation from OpenRC to systemd and back. However, switching requires some effort and is outside the scope of this installation manual. Before downloading a stage tarball, decide whether OpenRC or systemd will be used as the target init system and download the relevant stage tarball.

Téléchargement de l'archive tar

Accédez au point de montage de Gentoo où se trouve le système de fichier racine (probablement /mnt/gentoo) :

root #cd /mnt/gentoo

Navigateurs graphiques

Ceux utilisant un environnement avec des navigateurs Internet graphiques n'auront aucun problème à copier l'adresse d'une archive tar depuis la section téléchargements du site principal. Sélectionnez simplement l'onglet approprié, clique-droit sur le lien vers l'archive tar, ensuite Copier l'adresse du lien pour copier le lien vers le presse-papiers, puis collez le lien à l'utilitaire wget en ligne de commande pour télécharger l'archive tar :

root #wget <URL_DE_L_ARCHIVE_COLLEE>

Navigateurs en ligne de commande

Les lecteurs plus traditionnels ou utilisateurs de Gentoo 'vieux jeu', travaillant exclusivement depuis la ligne de commande peuvent préférer l'utilisation de links (www-client/links), un navigateur non graphique et orienté menus. Pour télécharger une archive tar, naviguez vers la liste des miroirs Gentoo comme suit :

root #links https://www.gentoo.org/downloads/mirrors/

Pour utiliser un proxy HTTP avec links, passez l’URL avec l'option http-proxy :

root #links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/

Outre links, il y a également le navigateur lynx (www-client/lynx). Comme links c'est un navigateur non graphique mais celui-là n'est pas orienté menus.

root #lynx https://www.gentoo.org/downloads/mirrors/

Si un proxy est nécessaire, exportez les variables http_proxy et/ou ftp_proxy :

root #export http_proxy="http://proxy.server.com:port"
root #export ftp_proxy="http://proxy.server.com:port"

Sur la liste de miroirs, choisissez-en un à proximité. En général les miroirs HTTP suffisent, mais d'autres protocoles sont également disponibles. Naviguez vers le répertoire releases/x86/autobuilds/. Ici, toutes les archives tar disponibles sont affichées (elles peuvent être stockées dans des sous-répertoires nommés après les différents types d'architectures). Sélectionnez-en une et appuyez sur la touche d pour la télécharger.

Une fois le téléchargement de l'archive terminé, il es possible d'en vérifier l'intégrité et d'en valider son contenu. Les intéressés peuvent passer à la section suivante.

Ceux qui ne sont pas intéressés peuvent fermer le navigateur en ligne de commande en appuyant sur la touche q et peuvent aller directement à la section Extraction de l'archive tar.

Vérifier et valider

Remarque
Most stages are now explicitly suffixed with the init system type (openrc or systemd), although some architectures may still be missing these for now.

Comme pour les CDs d'installation, il est possible de vérifier et de valider l'archive tar téléchargée. Bien que ces étapes peuvent être sautées, ces fichiers sont proposés pour les utilisateurs qui se soucient de la légitimité des fichiers qu'ils viennent de télécharger.

root #wget https://distfiles.gentoo.org/releases/
  • Un fichier .CONTENTS contient la liste de tous les fichiers contenus dans l'archive tar.
  • Un fichier .DIGESTS contient les sommes de contrôle de l'archive tar dans plusieurs algorithmes différents.
  • Un fichier .DIGESTS.asc qui, comme le fichier .DIGESTS, contient les sommes de contrôle de l'archive tar dans plusieurs algorithmes, mais qui est aussi signé de manière cryptographique afin de s'assurer qu'il soit bien fournit par le projet Gentoo.

Utilisez openssl et comparez les résultats avec les sommes de contrôle fournies par les fichiers .DIGESTS ou .DIGESTS.asc.

Par exemple, pour vérifier la somme de contrôle SHA512 :

root #openssl dgst -r -sha512 stage3-x86-<release>-<init>.tar.?(bz2|xz)

dgst instructs the openssl command to use the Message Digest sub-command, -r prints the digest output in coreutils format, and -sha512 selects the SHA512 digest.

Pour vérifier la somme de contrôle Whirlpool :

root #openssl dgst -r -whirlpool stage3-x86-<release>-<init>.tar.?(bz2|xz)

Comparez le résultat de ces commandes avec les valeurs enregistrées dans les fichiers .DIGESTS(.asc). Les valeurs doivent être identiques, sinon les fichiers téléchargés (ou le fichier digest) peuvent être corrompus.

Un autre façon de faire est d'utiliser la commande sha512sum :

root #sha512sum stage3-x86-<release>-<init>.tar.?(bz2|xz)

The --check option instructs sha256sum to read a list of expected files and associated hashes, and then print an associated "OK" for each file that calculates correctly or a "FAILED" for files that do not.

Tout comme pour le fichier ISO, il est également possible de vérifier la signature cryptographique du fichier .DIGESTS.asc en utilisant gpg afin de s'assurer que les sommes de contrôle n'aient pas été modifiées :

For official Gentoo live images, the sec-keys/openpgp-keys-gentoo-release package provides PGP signing keys for automated releases. The keys must first be imported into the user's session in order to be used for verification:

root #gpg --import /usr/share/openpgp-keys/gentoo-release.asc

For all non-official live images which offer gpg and wget in the live environment, a bundle containing Gentoo keys can be fetched and imported:

root #wget -O - https://qa-reports.gentoo.org/output/service-keys.gpg | gpg --import

Verify the signature of the tarball and, optionally, associated checksum files:

root #gpg --verify stage3-x86-<release>-<init>.tar.?(bz2|xz){.DIGESTS.asc,}

If verification succeeds, "Good signature from" will be in the output of the previous command(s).

The fingerprints of the OpenPGP keys used for signing release media can be found on the release media signatures page.

Extraction de l'archive tar

Maintenant, extraire l'archive téléchargée sur le système. Pour ce faire, utiliser la commande tar :

root #tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

Assurez-vous que les mêmes options (xpf et --xattrs-include='*.*') sont utilisées. Le x signifie extraire, le p pour préserver les permissions et le f pour signifier que l'on veut extraire un fichier (et non l'entrée standard). --xattrs-include='*.*' permet de conserver les attributs étendus contenus dans tous les espaces de noms de l'archive. Finalement, --numeric-owner est utilisé afin d'assurer que les identifiants de groupe et d'utilisateur des fichiers extraits de l'archive restent les mêmes que ceux voulus par l'équipe de Gentoo (même si certains utilisateurs aventureux n'utilisent pas les environnements live Gentoo officiels).

The options starting with the double dash (--) do not have a short parameters. --xattrs-include='*.*' is to include preservation of the the extended attributes in all namespaces stored in the archive. Finally, --numeric-owner is used to ensure that the user and group IDs of the files being extracted from the tarball will remain the same as Gentoo's release engineering team intended (even if adventurous users are not using official Gentoo live environments for the installation process).

Maintenant que l'archive est extraite, continuez avec la Configuration des options de compilation.

Configuration des options de compilation

Introduction

Pour optimiser le système, il est possible de configurer des variables qui influent sur le comportement de Portage, le gestionnaire de paquets officiel de Gentoo. Toutes ces variables peuvent être configurées en tant que variable d'environnement (en utilisant export), mais cela n'est pas permanent.

Remarque
Technically variables can be exported via the shell's profile or rc files, however that is not best practice for basic system administration.

Portage reads in the make.conf file when it runs, which will change runtime behavior depending on the values saved in the file. make.conf can be considered the primary configuration file for Portage, so treat its content carefully.

Conseil
{{{1}}}

Lancez un éditeur (dans ce guide nous utiliserons nano) pour modifier les variables d’optimisation décrites ci-dessous.

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

En regardant dans le fichier make.conf.example, la manière dans laquelle le fichier doit être structuré est évidente : les lignes commentées démarrent par #, les autres lignes définissent des variables en utilisant la syntaxe VARIABLE="valeur". Plusieurs de ces variables sont présentées dans la section suivante.

CFLAGS et CXXFLAGS

Les variables CFLAGS et CXXFLAGS définissent les paramètres d'optimisation des compilateurs GCC C et C++, respectivement. Bien que ces variables soient généralement définies ici, il est possible, pour une performance maximale, d'optimiser ces paramètres pour chaque programme séparément. La raison pour cela est que chaque programme est différent. Cependant, ceci n'est pas gérable, d'où la définition de ces paramètres dans le fichier make.conf.

Dans make.conf il faut définir les paramètres d'optimisation qui rendront le système le plus réactif en général. Ne pas utiliser de configuration expérimentale dans cette variable ; trop d'optimisation peut faire que les programmes se comportent mal (plantage, ou pire, malfonctionnement).

Nous n'expliquerons pas toutes les options d'optimisation possibles. Pour les comprendre toutes, lire le manuel en ligne de GCC (en anglais) ou la page d'infos de gcc (info gcc - fonctionne seulement sur un système Linux). Le fichier make.conf.example contient également de lui-même beaucoup d'exemples et d'informations ; ne pas oublier de le lire également.

Un première configuration est le paramètre -march= ou -mtune=, qui spécifie le nom de l'architecture cible. Les options possibles sont décrites dans le fichier make.conf.example (en tant que commentaires). Une valeur souvent utilisée est native, qui informe au compilateur de sélectionner l'architecture cible du système utilisé (celui sur lequel est installé Gentoo).

Un second paramètre est -O (un O majuscule et non un zéro), qui permet de spécifier la classe des paramètres d'optimisation de gcc. Les classes disponibles sont s (optimisé pour la taille), 0 (zéro - pour pas d'optimisations), 1, 2 ou même 3 pour plus d'optimisations de vitesse (chaque classe à les mêmes paramètres que la précédente plus quelques extras). -O2 est le défaut recommandé. -O3 est connu pour causer des problèmes quand utilisé pour tout le système, nous recommandons donc de rester avec -O2.

Un autre paramètre d'optimisation populaire est -pipe (qui permet l'utilisation de pipes à la place de fichiers temporaires pour la communication entre les différentes étapes de la compilation). Ce n'a aucun impact sur le code généré, mais utilise plus de mémoire. Sur des systèmes disposant de peu de mémoire vive, gcc peut être tué. Dans ce cas, ne pas utiliser ce paramètre.

Utiliser -fomit-frame-pointer (qui ne garde pas la structure des pointeurs dans un registre pour les fonctions qui n'en ont pas besoin) peut avoir des répercussions importantes sur le débogage des programmes.

Quand les variables CFLAGS et CXXFLAGS sont définies, combinez les paramètres d'optimisation multiples dans une seule chaîne de caractères. Les valeurs par défaut contenues dans l'archive d'étape 3 qui est extraite devraient être suffisantes. Les valeurs suivantes ne sont qu'un exemple :

CODE Exemple des variables CFLAGS et CXXFLAGS
# Options de compilation pour tous les langages
COMMON_FLAGS="-O2 -march=i686 -pipe"
# Utiliser les mêmes paramètres pour les deux variables
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
Conseil
Bien que l'article d'optimisation de GCC possède plus d'informations sur comment les différentes options de compilation affectent un système, l'article Safe CFLAGS peut se révéler plus pratique pour permettre aux débutants d'optimiser leurs systèmes.

MAKEOPTS

La variable MAKEOPTS définit combien de compilations parallèles peuvent se dérouler lors de l'installation d'un paquet. Un bon choix est le nombre de CPUs (ou cœurs du CPU) dans le système plus un, mais cette recommandation n'est pas toujours parfaite.

A good choice is the smaller of: the number of threads the CPU has, or the total amount of system RAM divided by 2 GiB.

Attention !
Using a large number of jobs can significantly impact memory consumption. A good recommendation is to have at least 2 GiB of RAM for every job specified (so, e.g. -j6 requires at least 12 GiB). To avoid running out of memory, lower the number of jobs to fit the available memory.
Conseil
When using parallel emerges (--jobs), the effective number of jobs run can grow exponentially (up to make jobs multiplied by emerge jobs). This can be worked around by running a localhost-only distcc configuration that will limit the number of compiler instances per host.
CODE Exemple de déclaration de MAKEOPTS dans make.conf
MAKEOPTS="-j2"

Search for MAKEOPTS in man 5 make.conf for more details.

A vos marques, prêts, partez !

Mettez à jour le fichier /mnt/gentoo/etc/portage/make.conf en fonction de vos préférences personnelles et enregistrez le (les utilisateurs de nano appuieront sur Ctrl+x).

References





Chrooting

Facultatif : Sélectionner les miroirs

Fichiers de la distribution

Conseil
It is safe to skip this step when using non-Gentoo installation media. The app-portage/mirrorselect package can be emerged later within the stage3 (after Entering the new environment) and the actions defined in this section can be performed at that point.

Afin de télécharger le code source rapidement, il est recommandé de sélectionner un miroir rapide. Portage cherche dans le fichier make.conf la variable GENTOO_MIRRORS et utilise les miroirs listés à l'intérieur. Il est possible de naviguer vers la liste des miroirs de Gentoo et de chercher pour ceux qui se situent le plus près de la position géographique du système (ce sont souvent les plus rapides). Cependant, nous offrons un outil appelé mirrorselect qui permet à l'utilisateur de sélectionner les miroirs nécessaires à l'aide d'une élégante interface. Il suffit juste de naviguer sur le miroir désiré et d'appuyer sur espace pour sélectionner un ou plusieurs miroirs.

root #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Le dépôt ebuild de Gentoo

Une deuxième étape important dans le choix de miroirs est de configurer le dépôt ebuild de Gentoo via le fichier /etc/portage/repos.conf/gentoo.conf. Ce fichier contient les informations de synchronisation nécessaires pour mettre à jour le dépôt des paquets (la collection des ebuilds et fichiers connexes contenant toutes les informations dont Portage a besoin pour télécharger et installer des logiciels).

Configurer le dépôt peut se faire en quelques étapes simples. Tout d'abord, s'il n'existe pas, créer le répertoire repos.conf

root #mkdir --parents /mnt/gentoo/etc/portage/repos.conf

Ensuite, copiez le fichier de configuration du dépôt Gentoo fourni par Portage vers le (nouvellement créé) répertoire repos.conf:

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Regardez avec un éditeur de texte ou en utilisant la commande cat. Le contenu du fichier doit se trouver dans le format .ini et ressembler à ceci:

FILE /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo
 
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

La valeur par défaut de la variable sync-uri listée ci-dessus déterminera un emplacement miroir basé sur une rotation. Cela permet d'alléger le stress de la bande passante sur l'infrastructure des serveurs Gentoo et fournit une sécurité au cas ou un miroir serait inaccessible. Il est recommandé de garder l'url par défaut à moins qu'un miroir local et privé de portage ne soit utilisé.

Conseil
La spécification officielle de l'API de synchronisation de Portage peur être trouvée dans cet article.

Copier les informations DNS

Il reste une chose à faire avant d'entrer dans le nouvel environnement et c'est de copier les informations DNS dans /etc/resolv.conf. C'est nécessaire afin de s'assurer que le réseau fonctionne toujours même après être entré dans le nouvel environnement. /etc/resolv.conf contient les serveurs de nom pour le réseau.

Pour copier ces informations, il est recommandé de passer l'option --dereference à la commande cp. Cela permet de s'assurer que, si /etc/resolv.conf est un lien symbolique, la cible du lien est copiée à la place du lien lui-même. Le lien symbolique dans le nouvel environnement ponterait autrement vers un fichier non existant (vu que la cible du lien n'existe probablement pas dans le nouvel environnement).

root #cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Monter les systèmes de fichiers nécessaires

Dans quelques instants, la racine Linux sera modifiée vers le nouvel emplacement. Pour s'assurer que le nouvel environnement fonctionne correctement, certains systèmes de fichiers doivent également être mis à disposition.

Les systèmes de fichiers qui doivent être rendus disponibles sont:

  • /proc/ qui est un pseudo système de fichiers (il ressemble à des fichiers normaux, mais est en fait généré à la volée) à partir duquel le noyau Linux expose des informations à l'environnement.
  • /sys/ qui est un pseudo système de fichiers, comme /proc/ qu'il était autrefois sensé remplacer, et il est plus structuré que /proc/.
  • /dev/ est un système de fichiers régulier, partiellement géré par le gestionnaire de périphérique de Linux (généralement udev) et qui contient tous les fichiers de périphériques.

L'emplacement /proc/ sera monté sur /mnt/gentoo/proc/ alors que les autres seront remontés ailleurs. Ce dernier signifie que, par exemple, /mnt/gentoo/sys/ sera en fait /sys/ (c'est juste un deuxième point d'entrée sur le même système de fichiers) alors que /mnt/gentoo/proc/ est un nouveau montage (nouvelle instance pour ainsi dire) du système de fichiers.

Conseil
If using Gentoo's install media, this step can be replaced with simply: arch-chroot /mnt/gentoo.
root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
root #mount --bind /run /mnt/gentoo/run
root #mount --make-slave /mnt/gentoo/run
Remarque
Les opérations --make-rslave ne sont nécessaires que pour supporter systemd plus loin dans l'installation.
Attention !
Lorsqu'un support d'installation non officiel de Gentoo est utilisé, cela peut ne pas suffire. Certaines distributions font de /dev/shm un lien symbolique vers /run/shm/ qui, après le chroot, devient invalide. Faire de /dev/shm/ un montage tmpfs correct d'entrée permet de fixer ce problème :
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

Assurez-vous également que le mode 1777 est appliqué :

root # chmod 1777 /dev/shm /run/shm

Entrer dans le nouvel environnement

Maintenant que toutes les partitions sont initialisées et que l'environnement de base est installé, il est temps d'entrer dans le nouvel environnement d'installation en utilisant chroot. Cela signifie que la session changera de racine (emplacement de plus haut niveau pouvant être atteint) depuis l'environnement d'installation courant (cédérom d'installation ou autre support) vers le système d'installation (à savoir les partitions précédemment initialisées). D'où le nom change root ou chroot.

Ce processus de chroot se déroule en trois étapes:

  1. L'emplacement de la racine est changé de / (sur le support d'installation) à /mnt/gentoo/ (sur les partitions) en utilisant chroot.
  2. Certains paramètres (situés dans /etc/profile) sont rechargés en mémoire en utilisant la commande source.
  3. L'invite de commande principal est modifié afin de se rappeler plus facilement que cette session se situe dans un environnement chroot.
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

À partir de maintenant, toutes les actions réalisées le sont dans le nouvel environnement Gentoo. Bien sûr, c'est loin d'être fini, c'est pourquoi l'installation comporte encore de nombreuses sections !

Conseil
Si l'installation de Gentoo est interrompue n'importe où après ce point, il devrait être possible de reprendre l'installation depuis cette étape. Il n'y a pas besoin de refaire le partitionnement des disques ! Il suffit simplement de monter la partition racine et d'exécuter les étapes ci-dessus depuis la copie des informations DNS pour réintégrer l'environnement de travail. Ceci est également utile pour résoudre les problèmes de chargeur d'amorçage. Plus d'informations peut être trouvé dans l'article sur chroot.

Monter la partition boot

Maintenant que le nouvel environnement a été entré, il est nécessaire de monter la partition boot. Cela sera important quand il sera temps de compiler le noyau et d'installer le chargeur d'amorçage:

root #mount /dev/sda2 /boot

Configurer Portage

Installer un instantané du dépôt ebuild Gentoo depuis le Web

L'étape suivant consiste à installer un instantané du dépôt ebuild Gentoo. Cet instantané contient une collection de fichiers qui informent Portage des logiciels disponibles (pour installation), quels profils l'administrateur système peut sélectionner, des informations spécifiques aux paquets ou profils, etc.

L'utilisation de la commande emerge-webrsync est recommandée pour ceux situés derrière des pare-feu restrictifs (elle utilise les protocoles HTTP/FTP pour télécharger l'instantané) et économise de la bande passante. Les lecteurs n'ayant pas de restriction de réseau ou de bande passante peuvent passer directement à la section suivante.

Ceci va récupérer le dernier instantané (qui est publié quotidiennement) depuis l'un des miroirs de Gentoo et l'installer sur le système:

root #emerge-webrsync
Remarque
Pendant cette opération, emerge-webrsync peut se plaindre d'un emplacement /var/db/repos/gentoo/ inexistant. Cela est à prévoir et n'est rien d'inquiétant - l'outil se chargera lui-même de créer l'emplacement.

À partir de ce moment, Portage peut mentionner que l'exécution de certaines mises à jour soit recommandée. Cela s'explique par le fait que certains paquets du système puissent avoir des versions plus récentes disponibles ; Portage est dès maintenant au courant des nouvelles versions en raison de l'installation de l'instantané. Les mises à jour peuvent être ignorées en toute sécurité pour l'instant ; les mises à jour peuvent être effectuées une fois l'installation de Gentoo terminée.

Facultatif : Mettre à jour le dépôt ebuild de Gentoo

Il est possible de mettre à jour le dépôt ebuild de Gentoo vers la dernière version. La commande précédente emerge-webrsync aura installé un instantané récent (généralement moins de 24h) donc cette étape reste optionnelle.

S'il est cependant nécessaire d'avoir la version la plus récente du dépôt (moins d'une heure), utiliser emerge --sync. Cette commande utiliser le protocole rsync pour mettre à jour le dépôt ebuild de Gentoo (qui fut extrait plus tôt via emerge-webrsync) vers l'état le plus récent.

root #emerge --sync

Sur les terminaux lents, comme certains framebuffers (tampon de trame) ou consoles série, il est recommandé d'utiliser l'option --quiet pour accélérer le processus.

root #emerge --sync --quiet

Lire les nouvelles

Quand le dépôt ebuild de Gentoo est synchronisé sur le système, Portage peut afficher des messages informatifs similaires à ceux-ci :

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Les nouvelles furent créées afin de fournir un moyen de communication permettant d'envoyer des messages critiques aux utilisateurs via le dépôt ebuild de Gentoo. Pour les gérer, utiliser eselect news. L'application eselect est un utilitaire spécifique à Gentoo qui permet d'avoir une interface de gestion commune pour l'administration système. Ici, eselect est invitée à utiliser son module de news.

Pour le module de news, trois opérations principales sont utilisées :

  • Avec list, un aperçu des nouvelles disponibles s'affiche.
  • Avec read, les nouvelles peuvent être lues.
  • Avec purge, les nouvelles peuvent être supprimées une fois qu'elles ont été lues.
root #eselect news list
root #eselect news read

Plus d'information sur le lecteur de nouvelles est disponible via sa page de manuel :

root #man news.eselect

Choisir le bon profil

Conseil
Desktop profiles are not exclusively for desktop environments. They are still suitable for minimal window managers like i3 or sway.

Un profil est un élément de construction pour tout système Gentoo. Non seulement il spécifie des valeurs par défaut pour USE, CFLAGS, et autres variables importantes, il limite aussi aussi le système à une certaine gamme de version des paquets. Ces paramètres sont tous gérés par les développeurs Portage de Gentoo.

Pour voir quel profil le système utilise actuellement, lancer eselect avec le module profile :

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/x86/ *
  [2]   default/linux/x86//desktop
  [3]   default/linux/x86//desktop/gnome
  [4]   default/linux/x86//desktop/kde
Remarque
Le résultat de la commande n'est qu'un exemple et évolue avec le temps.

Comme on peut le voir, il existé également des sous-profils d'environnement de bureau disponibles pour certaines architecture.

Attention !
Les mises à niveau de profil ne doivent pas être prises à la légère. Lors de la sélection du profil initial, veillez à utiliser le profil correspondant à la même version que celle initialement utilisée par stage3 (par exemple : ). Chaque nouvelle version de profil est annoncée via une news contenant des instructions de migration. Assurez-vous de la lire et de suivre ces instructions avant de passer à un nouveau profil.

Après avoir visionné les profils disponibles pour l'architecture x86, les utilisateurs peuvent sélectionner un profil différent pour le système :

root #eselect profile set 2

Remarque
Le sous-profil developer est spécifique au développement de Gentoo Linux et ne doit pas être utilisé par des utilisateurs normaux.

Mettre à jour l'ensemble @world

À ce stade, il est judicieux de mettre à jour l'ensemble @world du système afin de pouvoir établir une base.

L'étape suivante est nécessaire afin que le système puisse appliquer toutes les mises à jour ou modifications d'options de la variable USE apparues depuis la construction de l'archive de stage3 et de la sélection du profil :

root #emerge --ask --verbose --update --deep --newuse @world
Conseil
Si le profil d'un environnement de bureau complet a été choisi, ce processus pourrait augmenter considérablement le temps nécessaire à l'installation du système. Ceux en manque de temps peuvent utiliser cette règle de base : plus le nom du profil est court, moins l'ensemble @world du système ne sera spécifique ; moins l'ensemble @world n'est spécifique, moins de paquets ne seront requis par le système. Autrement dit :
  • Choisir default/linux/amd64/ ne nécessitera la mise à jour que de peu de paquets, alors que
  • Choisir default/linux/amd64//desktop/gnome/systemd nécessitera l'installation de plusieurs paquets car le système d'initialisation changera de OpenRC vers systemd, et l'environnement de bureau GNOME sera installé.

Configuration de la variable USE

USE est l'une des variables les plus puissantes que Gentoo propose à l'utilisateur. Plusieurs programmes peuvent être compilés avec ou sans support facultatif pour certaines options. Par exemple, certains programmes peuvent être compilés avec le support pour GTK+ ou le support pour Qt. D'autres peuvent être compilés avec ou sans le support pour SSL. Certains programmes peuvent être compilés avec le support pour framebuffer (svgalib) au lieu du support pour X11 (X-server).

La plupart des distributions compilent leurs paquets avec autant de support que possible, augmentant la taille des programmes et les temps de démarrage, sans oublier de mentionner un nombre énorme de dépendances. Avec Gentoo, l'utilisateur peut choisir avec quelles options un package doit être compilé. C'est là que la variable USE entre en jeu.

Dans la variable USE, les utilisateurs définissent des mots-clés qui correspondent à des options du compilateur. Par exemple, ssl ajoutera le support de SSL dans les programmes qui le supporte. -X supprimera le support du serveur X (noter le signe moins devant). gnome gtk -kde -qt5 compilera les programmes avec le support de GNOME (et de GTK+), mais sans le support de KDE (et Qt), ce rend le système complètement adapté pour gnome (si l'architecture le permet).

Les paramètres par défaut de la variable USE sont placés dans le fichier make.defaults du profil Gentoo utilisé par le système. Gentoo utilise un système d'héritage (complexe) pour ses profils, qui ne sera pas expliqué plus en détail pour le moment. Le moyen le plus simple de vérifier les paramètres de la variable USE actuellement actifs est d'exécuter emerge --info et de sélectionner la ligne commençant par USE :

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Remarque
L'exemple ci-dessus est tronqué, la liste réelle des valeurs de la variable USE est beaucoup, beaucoup plus longue.

Un description complète des options de la variable USE peut se trouver sur le système dans /var/db/repos/gentoo/profiles/use.desc.

root #less /var/db/repos/gentoo/profiles/use.desc

À l'intérieur de le commande less, le défilement peut s'effectuer à l'aide des touches et , et le programme peut être fermé en appuyant sur q.

Par exemple, voici les paramètres de la variable USE pour un système basé sur KDE avec le support pour DVD, ALSA et l'enregistrement de CD :

root #nano -w /etc/portage/make.conf
FILE /etc/portage/make.confActiver les paramètres de la variable USE pour un système basé sur KDE avec le support pour DVD, ALSA et l'enregistrement de CD
USE="-gtk -gnome qt4 qt5 kde dvd alsa cdr"

Quand la variable USE est définie dans /etc/portage/make.conf, les options sont ajoutées (ou supprimées si l'option commence par le signe -) de cette liste par défaut. Les utilisateurs qui souhaitent ignorer les paramètres par défaut de la variable USE et gérer toutes les options eux-mêmes doivent commencer la définition de la variable USE dans le fichier make.conf par -* :

FILE /etc/portage/make.confIgnorer les options par défaut de la variable USE
USE="-X acl alsa"
Attention !
Bien que possible, utiliser -* (comme vu dans l'exemple ci-dessus) est découragé car les options par défaut de la variable USE, choisies avec soins, peuvent être configurées dans certains ebuild afin d'éviter les conflits et autres erreurs.

CPU_FLAGS_*

Some architectures (including AMD64/X86, ARM, PPC) have a USE_EXPAND variable called CPU_FLAGS_<ARCH>, where <ARCH> is replaced with the relevant system architecture name.

Important
Do not be confused! AMD64 and X86 systems share some common architecture, so the proper variable name for AMD64 systems is CPU_FLAGS_X86.

This is used to configure the build to compile in specific assembly code or other intrinsics, usually hand-written or otherwise extra, and is not the same as asking the compiler to output optimized code for a certain CPU feature (e.g. -march=).

Users should set this variable in addition to configuring their COMMON_FLAGS as desired.

A few steps are needed to set this up:

root #emerge --ask app-portage/cpuid2cpuflags

Inspect the output manually if curious:

root #cpuid2cpuflags

Then copy the output into package.use:

root #echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

VIDEO_CARDS

The VIDEO_CARDS USE_EXPAND variable should be configured appropriately depending on the available GPU(s). The Xorg guide covers how to do this. Setting VIDEO_CARDS is not required for a console only install.

Optionnel : Configurer la variable ACCEPT_LICENSE

Tous les paquets Gentoo sont étiquetés avec les licences correspondantes. Cela permet à l'utilisateur de sélectionner les logiciels par licences ou groupes de licences avant de les installer.

  • System wide in the selected profile.
  • System wide in the /etc/portage/make.conf file.
  • Per-package in a /etc/portage/package.license file.
  • Per-package in a /etc/portage/package.license/ directory of files.

Gentoo est fourni avec des valeurs prédéfinies dans les profils, par exemple:

user $portageq envvar ACCEPT_LICENSE
@FREE

Cela peut être customisé à l'échelle du système en éditant /etc/portage/make.conf. La valeur par défaut n'acceptera que les licences qui sont explicitement approuvées par la Free Software Foundation, l'Open Source Initiative, ou qui suivent la Définition du Logiciel Libre:

FILE /etc/portage/make.confCustomiser ACCEPT_LICENSE
ACCEPT_LICENSE="-* @FREE"

Des dérogations par paquet peuvent alors être ajoutées si nécessaire et désiré, par exemple:

FILE /etc/portage/package.license/kernelExemple d'acceptation de licence
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
root #mkdir /etc/portage/package.license
FILE /etc/portage/package.license/kernelExample how to accept licenses per-package
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
Important
La variable LICENSE d'un ebuild n'est qu'une directive pour les développeurs Gentoo et les utilisateurs. Ce n'est pas une déclaration légale, et il n'y a aucune garantie que cela reflètera la réalité. Alors ne vous reposez pas dessus, mais vérifiez le paquet en profondeur, y compris tous les fichiers que vous utilisez.

Les groupes de licences définies dans le dépôt Gentoo, gérées par le projet Licences Gentoo, sont:

Nom du groupe Description
@GPL-COMPATIBLE Licences compatibles GPL approuvées par la Free Software Foundation [a_license 1]
@FSF-APPROVED Licences de logiciel libre approuvées par la FSF (contient @GPL-COMPATIBLE)
@OSI-APPROVED Licences approuvées par l'Open Source Initiative [a_license 2]
@MISC-FREE Licences diverses qui sont probablement des logiciels libre, c'est à dire qui suivent la Définition du logiciel libre [a_license 3] mais qui ne sont approuvées ni par la FSF ni par l'OSI.
@FREE-SOFTWARE Combine @FSF-APPROVED, @OSI-APPROVED et @MISC-FREE
@FSF-APPROVED-OTHER Licences approuvées par la FSF pour "documentation libre" et "œuvres à usage pratique autres que les logiciels et la documentation" (polices de caractères incluses)
@MISC-FREE-DOCS Licences diverses pour les documents libres et autres oeuvres (polices de caractères incluses) qui suivent la définition libre [a_license 4] mais qui NE sont PAS listées dans @FSF-APPROVED-OTHER
@FREE-DOCUMENTS Combine @FSF-APPROVED-OTHER et @MISC-FREE-DOCS
@FREE Méta-ensemble de toutes les licences avec liberté d'utilisation, partage, modification et partage de modifications.

Combine @FREE-SOFTWARE et @FREE-DOCUMENTS

@BINARY-REDISTRIBUTABLE Licences qui permettent au moins la libre redistribution du logiciel sous forme de binaire. Contient @FREE
@EULA Contrats de licences qui essaient de vous retirer des droits. Elles sont plus restrictives que "tous-droits-reservés" ou demandent un accord explicite.



Fuseau horaire

Remarque
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.

Sélectionner le fuseau horaire pour le système. Rechercher les fuseaux horaires disponibles dans /usr/share/zoneinfo/ :

root #ls /usr/share/zoneinfo

Imaginons que le fuseau horaire choisi soit Europe/Brussels.

OpenRC

Écrire le nom du fuseau horaire dans le fichier /etc/timezone.

root #echo "Europe/Brussels" > /etc/timezone

Veuillez éviter les fuseaux horaires tels que /usr/share/zoneinfo/Etc/GMT* car leurs noms d'indiquent pas les zones attendues. Par exemple, GMT-8 est en réalité GMT+8.

Ensuite, reconfigurer le paquet sys-libs/timezone-data, qui se chargera de mettre à jour le fichier /etc/localtime, en se basant sur le champ /etc/timezone. Le fichier /etc/localtime est utilisé par la bibliothèque C du système pour connaître dans quel fuseau horaire celui-ci se situe.

root #emerge --config sys-libs/timezone-data

systemd

Une approche légèrement différente est employée quand systemd est utilisé. Un lien symbolique est généré :

root #ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime

Later, when systemd is running, the timezone and related settings can be configured with the timedatectl command.

Configurer les paramètres régionaux

Remarque
Cette étape ne s'applique pas aux utilisateurs de la libc musl. Les utilisateurs ne comprenant pas ce que cela signifie devraient suivre cette étape.

Génération des paramètres régionaux

La plupart des utilisateurs n'utiliseront qu'un ou deux paramètres régionaux sur leur système.

Les paramètres régionaux spécifient non seulement la langue que l'utilisateur doit utiliser pour interagir avec le système, mais aussi les règles pour trier les chaînes de caractères, afficher les dates et les heures, etc.

Les paramètres régionaux que le système doit supporter doivent être mentionnés dans /etc/locale.gen.

root #nano -w /etc/locale.gen

Les paramètres régionaux suivant sont un exemple pour avoir et l'anglais (États-Unis) et le français (France) avec les formats de caractères correspondants (comme UTF-8).

FILE /etc/locale.genActiver les paramètres régionaux US et FR avec les formats de caractères correspondants
en_US ISO-8859-1
en_US.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR.UTF-8 UTF-8
Attention !
Il est fortement recommandé d'utiliser au moins une option de paramètres régionaux en UTF-8 car beaucoup d'applications le requièrent.

L'étape suivante consiste à exécuter la commande locale-gen. Elle génère tous les paramètres régionaux spécifiés dans le fichier /etc/locale.gen.

root #locale-gen

Pour vérifier que les paramètres régionaux sélectionnés sont maintenant disponibles, exécuter locale -a.

On systemd installs, localectl can be used, e.g. localectl set-locale ... or localectl list-locales.

Sélection du paramètre régional

Une fois terminé, il est maintenant temps de définir les paramètres régionaux du système. Encore une fois, eselect sera utilisé, cette fois avec le module locale.

Avec eselect locale list, les choix disponibles sont affichés :

root #eselect locale list
Available targets for the LANG variable:
  [1] C
  [2] C.utf8
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] fr_FR
  [7] fr_FR.iso88591
  [8] fr_FR.iso885915
  [9] fr_FR.utf8
  [10] POSIX
  [ ] (free form)

Avec eselect locale set <NOMBRE>, les paramètres régionaux corrects peuvent être sélectionnés :

root #eselect locale set 9

Manuellement, cela peut être réalisé via le fichier /etc/env.d/02locale :

FILE /etc/env.d/02localeConfigurer manuellement les paramètres régionaux du système
LANG="fr_FR.UTF-8"
LC_COLLATE="C.UTF-8"

Configurer un paramètre régional évitera des avertissements et erreurs lors des compilations du noyau et d'autres logiciels plus tard dans l'installation.

Mettre maintenant l'environnement à jour :

root #env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

Un guide complet sur les paramètres régionaux existe afin d'aider l'utilisateur lors de ce processus. Un autre article intéressant est l'article sur UTF-8 qui contient des informations spécifiques pour activer le support de l'UTF-8 sur le système.





Facultatif : Installation de micrologiciels

Firmware

Certains pilotes nécessite l'installation de micrologiciels supplémentaires sur le système pour fonctionner. C'est souvent le cas pour les interfaces réseau, notamment les interfaces réseau sans fil. Aussi, les cartes vidéos récentes, de vendeurs tels que AMD, NVidia, et Intel, nécessitent souvent des micrologiciels supplémentaires lors de l'utilisation du pilote libre. La plupart des micrologiciels se trouvent dans le paquet sys-kernel/linux-firmware :

It is recommended to have the sys-kernel/linux-firmware package installed before the initial system reboot in order to have the firmware available in the event that it is necessary:

root #emerge --ask sys-kernel/linux-firmware
Remarque
Installing certain firmware packages often requires accepting the associated firmware licenses. If necessary, visit the license handling section of the Handbook for help on accepting licenses.

It is important to note that kernel symbols that are built as modules (M) will load their associated firmware files from the filesystem when they are loaded by the kernel. It is not necessary to include the device's firmware files into the kernel's binary image for symbols loaded as modules.

Microcode

In addition to discrete graphics hardware and network interfaces, CPUs also can require firmware updates. Typically this kind of firmware is referred to as microcode. Newer revisions of microcode are sometimes necessary to patch instability, security concerns, or other miscellaneous bugs in CPU hardware.

Microcode updates for AMD CPUs are distributed within the aforementioned sys-kernel/linux-firmware package. Microcode for Intel CPUs can be found within the sys-firmware/intel-microcode package, which will need to be installed separately. See the Microcode article for more information on how to apply microcode updates.

Configuration et compilation du noyau

Il est maintenant temps de configurer et de compiler les sources du noyau. Il y a trois façons de faire :

Ranked from least involved to most involved:

  1. Le noyau est configuré et compilé manuellement.
  2. Un outil appelé genkernel est utilisé afin de configurer, compiler et installer automatiquement le noyau Linux.

Le cœur de toute distribution est le noyau Linux. C'est la couche située entre les programmes utilisateurs et le matériel du système. Gentoo propose à ses utilisateurs plusieurs sources du noyau possibles. Une liste complète des sources, avec description, est disponible sur la page Noyau - Vue d'ensemble.

Alternative : Utiliser un noyau de distribution

Distribution Kernels are ebuilds that cover the complete process of unpacking, configuring, compiling, and installing the kernel. The primary advantage of this method is that the kernels are updated to new versions by the package manager as part of @world upgrade. This requires no more involvement than running an emerge command. Distribution kernels default to a configuration supporting the majority of hardware, however two mechanisms are offered for customization: savedconfig and config snippets. See the project page for more details on configuration.

Installer l'installkernel adéquat

Before using the distribution kernels, please verify that the correct installkernel package for the system has been installed. When using systemd-boot (formerly gummiboot) as the bootloader, install:

root #emerge --ask sys-kernel/installkernel-systemd-boot

When using a traditional a /boot layout (e.g. GRUB, LILO, etc.), the gentoo variant should be installed by default. If in doubt:

root #emerge --ask sys-kernel/installkernel-gentoo

If using GRUB with installkernel-gentoo, users may want to enable USE=grub for it to automatically run grub-mkconfig for new kernels with dist kernels.

Installer un noyau de distribution

To build a kernel with Gentoo patches from source, type:

root #emerge --ask sys-kernel/gentoo-kernel

System administrators who want to avoid compiling the kernel sources locally can instead use precompiled kernel images:

root #emerge --ask sys-kernel/gentoo-kernel-bin

Mettre à jour et nettoyer

Once the kernel is installed, the package manager will automatically update it to newer versions. The previous versions will be kept until the package manager is requested to clean up stale packages. To reclaim disk space, stale packages can be trimmed by periodically running emerge with the --depclean option:

root #emerge --depclean

Alternatively, to specifically clean up old kernel versions:

root #emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin

Post-install/upgrade tasks

Distribution kernels are capable of rebuilding kernel modules installed by other packages. linux-mod.eclass provides the dist-kernel USE flag which controls a subslot dependency on virtual/dist-kernel.

Enabling this USE flag on packages like sys-fs/zfs and sys-fs/zfs-kmod allows them to automatically be rebuilt against a newly updated kernel and, if applicable, will re-generate the initramfs accordingly.

Manually rebuilding the initramfs

If required, manually trigger such rebuilds by, after a kernel upgrade, executing:

root #emerge --ask @module-rebuild

If any kernel modules (e.g. ZFS) are needed at early boot, rebuild the initramfs afterward via:

root #emerge --config sys-kernel/gentoo-kernel
root #emerge --config sys-kernel/gentoo-kernel-bin

Installer les sources

Remarque
This section is only relevant when using the following genkernel (hybrid) or manual kernel management approach.

When installing and compiling the kernel for x86-based systems, Gentoo recommends the sys-kernel/gentoo-sources package.

Choose an appropriate kernel source and install it using emerge:

root #emerge --ask sys-kernel/gentoo-sources

Cela installera les sources du noyau Linux dans le répertoire /usr/src/, dans lequel un lien symbolique appelé linux pointera vers les sources du noyau installées :

It is conventional for a /usr/src/linux symlink to be maintained, such that it refers to whichever sources correspond with the currently running kernel. However, this symbolic link will not be created by default. An easy way to create the symbolic link is to utilize eselect's kernel module.

For further information regarding the purpose of the symlink, and how to manage it, please refer to Kernel/Upgrade.

First, list all installed kernels:

root #eselect kernel list
Available kernel symlink targets:
  [1]   linux-5.15.52-gentoo

In order to create a symbolic link called linux, use:

root #eselect kernel set 1
root #ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-5.15.52-gentoo

Alternative : Utiliser genkernel

Si une configuration manuelle semble trop intimidante, utiliser gernkernel est recommandé. Il se chargera de configurer, compiler et installer le noyau automatiquement.

Genkernel provides a generic kernel configuration file and will compile the kernel and initramfs, then install the resulting binaries to the appropriate locations. This results in minimal and generic hardware support for the system's first boot, and allows for additional update control and customization of the kernel's configuration in the future.

Be informed: while using genkernel to maintain the kernel provides system administrators with more update control over the system's kernel, initramfs, and other options, it will require a time and effort commitment to perform future kernel updates as new sources are released. Those looking for a hands-off approach to kernel maintenance should use a distribution kernel.

For additional clarity, it is a misconception to believe genkernel automatically generates a custom kernel configuration for the hardware on which it is run; it uses a predetermined kernel configuration that supports most generic hardware and automatically handles the make commands necessary to assemble and install the kernel, the associate modules, and the initramfs file.

Binary redistributable software license group

If the linux-firmware package has been previously installed, then skip onward to the to the installation section.

As a prerequisite, due to the firwmare USE flag being enabled by default for the sys-kernel/genkernel package, the package manager will also attempt to pull in the sys-kernel/linux-firmware package. The binary redistributable software licenses are required to be accepted before the linux-firmware will install.

This license group can be accepted system-wide for any package by adding the @BINARY-REDISTRIBUTABLE as an ACCEPT_LICENSE value in the /etc/portage/make.conf file. It can be exclusively accepted for the linux-firmware package by adding a specific inclusion via a /etc/portage/package.license/linux-firmware file.

If necessary, review the methods of accepting software licenses available in the Installing the base system chapter of the handbook, then make some changes for acceptable software licenses.

If in analysis paralysis, the following will do the trick:

root #mkdir /etc/portage/package.license
FILE /etc/portage/package.license/linux-firmwareAccept binary redistributable licenses for the linux-firmware package
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE

Installation

Il est maintenant temps de voir comment utiliser genkernel. D'abord, installer sys-kernel/genkernel :

root #emerge --ask sys-kernel/genkernel

Generation

Maintenant, compiler les sources du noyau en exécutant genkernel all. Attention, vu que genkernel compile un noyau qui supporte presque tout type de matériel, la compilation prendra un bon bout de temps avant de finir !

Remarque
SI la partition boot n'utilise pas le système de fichiers ext2 ou ext3, il peut être nécessaire de configurer le noyau en utilisant genkernel --menuconfig all et d'ajouter le support pour un système de fichiers spécifique dans le noyau (et non en tant que module). Les utilisateurs de LVM2 voudront probablement aussi ajouter l'argument --lvm.
Remarque
Users of LVM2 should add --lvm as an argument to the genkernel command below.
root #genkernel all

Une fois que gernkernel est terminé, un noyau, en ensemble complet de modules et une image initramfs seront créés. Le noyau et l'image initramfs seront utilisés plus tard lors de la configuration d'un système d'amorçage, il est donc bon de noter les noms du noyau et de l'image initramfs. L'image initramfs sera lancée immédiatement après le démarrage pour effectuer une détection automatique du matériel (comme pour le média d'installation) avant le démarrage réel du système.

root #ls /boot/vmlinu* /boot/initramfs*

Configuration manuelle

Introduction

Configurer manuellement un noyau est souvent considéré comme l'une des procédures des plus difficiles qu'un utilisateur de Linux ait à réaliser. Rien n'est moins vrai - après avoir configuré quelques noyaux, plus personne ne se souviens que c'était difficile.

Cependant, une chose est vraie : c'est vital de connaître le système quand un noyau est configuré manuellement. La plupart des informations nécessaires peuvent être recueillies en installant le paquet sys-apps/pciutils qui contient la commande lspci :

root #emerge --ask sys-apps/pciutils
Remarque
À l'intérieur d'un chroot, il est possible d'ignorer sans risque toutes les mises en garde (du genrepcilib: cannot open /sys/bus/pci/devices) que lspci pourrait afficher.

Un autre source d'information est d'exécuter la commande lsmod pour voir quels modules du noyau sont utilisés par le média d'installation afin de savoir quoi activer plus tard.

Il est maintenant temps d'accéder au répertoire source du noyau et d'exécuter make menuconfig. Cela lancera un menu de configuration.

root #cd /usr/src/linux
root #make menuconfig

La configuration du noyau Linux comporte beaucoup, beaucoup de sections. Voici une liste des options qui doivent être activées (sinon Gentoo ne fonctionnera pas, ou incorrectement, sans modifications supplémentaires). Il existe également un guide de configuration du noyau Gentoo sur le wiki pouvant apporter plus d'informations.

Activation des options indispensables

When using sys-kernel/gentoo-sources, it is strongly recommend the Gentoo-specific configuration options be enabled. These ensure that a minimum of kernel features required for proper functioning is available:

KERNEL Enabling Gentoo-specific options
Gentoo Linux --->
  Generic Driver Options --->
    [*] Gentoo Linux support
    [*]   Linux dynamic and persistent device naming (userspace devfs) support
    [*]   Select options required by Portage features
        Support for init systems, system and service managers  --->
          [*] OpenRC, runit and other script based systems and managers
          [*] systemd

Naturally the choice in the last two lines depends on the selected init system (OpenRC vs. systemd). It does not hurt to have support for both init systems enabled.

When using sys-kernel/vanilla-sources, the additional selections for init systems will be unavailable. Enabling support is possible, but goes beyond the scope of the handbook.

Enabling support for typical system components

Bien s'assurer que tous les pilotes indispensables au démarrage du système (comme le contrôleur SCSI, etc.) soient compilés dans le noyau et non en tant que module, sinon le système de pourra pas démarrer correctement.

Ensuite, sélectionner le type exact du processeur. Il est également recommandé d'active les fonctionnalités MCE (si disponibles) afin que les utilisateurs puissent être notifiés de tout problème matériel. Sur certaines architectures (telles que x86_64), ces erreurs se sont pas affichées dans dmesg, mais dans /dev/mcelog. Cela nécessite le paquet app-admin/mcelog.

Aussi, sélectionner Maintain a devtmpfs file system to mount at /dev afin que le fichiers critiques des périphériques soient disponible au début du processus de démarrage. (CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT) :

KERNEL Activer le support pour devtmpfs
Device Drivers --->
  Generic Driver Options --->
    [*] Maintain a devtmpfs filesystem to mount at /dev
    [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs

Vérifier que le support pour les disques SCSI soit activé (CONFIG_BLK_DEV_SD):

KERNEL Activer le support pour les disques SCSI
Device Drivers --->
   SCSI device support  --->
      <*> SCSI disk support
KERNEL Enabling basic SATA and PATA support (CONFIG_ATA_ACPI, CONFIG_SATA_PMP, CONFIG_SATA_AHCI, CONFIG_ATA_BMDMA, CONFIG_ATA_SFF, CONFIG_ATA_PIIX)
Device Drivers --->
  <*> Serial ATA and Parallel ATA drivers (libata)  --->
    [*] ATA ACPI Support
    [*] SATA Port Multiplier support
    <*> AHCI SATA support (ahci)
    [*] ATA BMDMA support
    [*] ATA SFF support (for legacy IDE and PATA)
    <*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ata_piix)

Verify basic NVMe support has been enabled:

KERNEL Enable basic NVMe support for Linux 4.4.x (CONFIG_BLK_DEV_NVME)
Device Drivers  --->
  <*> NVM Express block device
KERNEL Enable basic NVMe support for Linux 5.x.x (CONFIG_DEVTMPFS)
Device Drivers --->
  NVME Support --->
    <*> NVM Express block device

It does not hurt to enable the following additional NVMe support:

KERNEL Enabling additional NVMe support (CONFIG_NVME_MULTIPATH, CONFIG_NVME_MULTIPATH, CONFIG_NVME_HWMON, CONFIG_NVME_FC, CONFIG_NVME_TCP, CONFIG_NVME_TARGET, CONFIG_NVME_TARGET_PASSTHRU, CONFIG_NVME_TARGET_LOOP, CONFIG_NVME_TARGET_FC, CONFIG_NVME_TARGET_FCLOOP, CONFIG_NVME_TARGET_TCP
[*] NVMe multipath support
[*] NVMe hardware monitoring
<M> NVM Express over Fabrics FC host driver
<M> NVM Express over Fabrics TCP host driver
<M> NVMe Target support
  [*]   NVMe Target Passthrough support
  <M>   NVMe loopback device support
  <M>   NVMe over Fabrics FC target driver
  < >     NVMe over Fabrics FC Transport Loopback Test driver (NEW)
  <M>   NVMe over Fabrics TCP target support

Maintenant, aller dans File Systems et sélectionner la prise en charge des systèmes de fichiers qui seront utilisés. Attention, ne pas compiler le système de fichier utilisé par le système de fichier racine an tant que module, sinon Gentoo sera incapable de monter la partition. Aussi, sélectionner Virtual memory et /proc file system. Sélectionner également une ou plusieurs des options suivantes selon le système (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, and CONFIG_TMPFS) :

KERNEL Sélectionner les systèmes de fichiers nécessaires
File systems --->
  <*> Second extended fs support
  <*> The Extended 3 (ext3) filesystem
  <*> The Extended 4 (ext4) filesystem
  <*> Reiserfs support
  <*> JFS filesystem support
  <*> XFS filesystem support
  <*> Btrfs filesystem support
  DOS/FAT/NT Filesystems  --->
    <*> MSDOS fs support
    <*> VFAT (Windows-95) fs support
 
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Tmpfs virtual memory file system support (former shm fs)

Si PPPoE, ou un modem analogique, est utilisé pour se connecter à Internet, activer les options suivantes(CONFIG_PPP, CONFIG_PPP_ASYNC, and CONFIG_PPP_SYNC_TTY) :

KERNEL Sélectionner les pilotes PPPoE nécessaires
Device Drivers --->
  Network device 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 poseront pas de problème mais elle ne sont définitivement pas indispensables, pas plus que l'option de PPP sur Ethernet qui ne sera probablement utilisée que si configurée pour faire du mode PPPoE via le noyau.

Ne pas oublier d'inclure dans le noyau le support pour les cartes réseau (Ethernet ou sans fil).

La plupart des système possèdent également plusieurs cœurs à leur disposition, il est donc important d'activer l'option Symmetric multi-processing support (CONFIG_SMP) :

KERNEL Activer le support pour SMP
Processor type and features  --->
  [*] Symmetric multi-processing support
Remarque
Dans les systèmes multi-cœur, chaque cœur compte comme un processeur.

Si des périphériques d'entrée USB (comme un clavier ou une souris), ou d'autres périphériques USB seront utilisés, ne pas oublier d'en activer le support (CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD) :

KERNEL Activation du support pour les périphériques USB
Device Drivers --->
  HID support  --->
    -*- HID bus support
    <*>   Generic HID driver
    [*]   Battery level reporting for HID devices
      USB HID support  --->
        <*> USB HID transport layer
  [*] USB support  --->
    <*>     xHCI HCD (USB 3.0) support
    <*>     EHCI HCD (USB 2.0) support
    <*>     OHCI HCD (USB 1.1) support


For x86 architectures, verify the 64-bit kernel option is unset/deactivated (CONFIG_64BIT=N), and then select the processor family as appropriate for the system's processor(s).

La famille de processeur peut être déterminée en examinant le résultat des deux commandes suivantes :

user $cat /proc/cpuinfo | grep -i vendor | uniq
user $cat /proc/cpuinfo | grep -i 'model name' | uniq
KERNEL Unset the 64-bit kernel and select processor family
[ ] 64-bit kernel
Processor type and features  --->
    Processor family (Core 2/newer Xeon)  --->
        ( ) 486
        ( ) 586/K5/5x86/6x86/6x86MX
        ( ) Pentium-Classic
        ( ) Pentium-MMX
        ( ) Pentium-Pro
        ( ) Pentium-II/Celeron(pre-Coppermine)
        ( ) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon
        ( ) Pentium M
        ( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon
        ( ) K6/K6-II/K6-III
        ( ) Athlon/Duron/K7
        ( ) Opteron/Athlon64/Hammer/K8
        ( ) Crusoe
        ( ) Efficeon
        ( ) Winchip-C6
        ( ) Winchip-2/Winchip-2A/Winchip-3
        ( ) AMD Elan
        ( ) GeodeGX1
        ( ) Geode GX/LX
        ( ) CyrixIII/VIA-C3
        ( ) VIA C3-2 (Nehemiah)
        ( ) VIA C7
        (*) Core 2/newer Xeon
        ( ) Intel Atom

Compiler et installer

With the configuration now done, it is time to compile and install the kernel. Exit the configuration and start the compilation process:

root #make && make modules_install
Remarque
It is possible to enable parallel builds using make -jX with X being an integer number of parallel tasks that the build process is allowed to launch. This is similar to the instructions about /etc/portage/make.conf earlier, with the MAKEOPTS variable.

When the kernel has finished compiling, copy the kernel image to /boot/. This is handled by the make install command:

root #make install

This will copy the kernel image into /boot/ together with the System.map file and the kernel configuration file.


Facultatif : Construire un fichier initramfs

Dans certains cas, il est nécessaire de créer une image initramfs - un système de fichier compressé chargé en mémoire lors du démarrage du système. La raison la plus courante est quand l'emplacement de systèmes de fichiers importants (comme /usr/ ou /var/) se trouve sur une partition séparée. Avec une image initramfs, ces partitions peuvent être montées en utilisant les outils disponibles dans l'image initramfs.

Sans initramfs, il y a un risque énorme que le système ne démarre pas car les outils responsables du montage des fichiers nécessaires au système ont besoin d'informations qui se trouvent sur ces systèmes de fichiers. Une image initramfs regroupe les fichiers nécessaires dans une archive qui est utilisée juste après le démarrage du noyau, mais avant que le contrôle ne soit donnée au système d'initialisation. Les scripts situés dans l'image initramfs vont s'assurer que les partitions soient correctement montées avant que le système de continue son démarrage.

Important
If using genkernel, it should be used for both building the kernel and the initramfs. When using genkernel only for generating an initramfs, it is crucial to pass --kernel-config=/path/to/kernel.config to genkernel or the generated initramfs may not work with a manually built kernel. Note that manually built kernels go beyond the scope of support for the handbook. See the kernel configuration article for more information.

Pour installer une image initramfs, commencer par installer sys-kernel/dracut, puis l'utiliser pour générer une image initramfs :

root #emerge --ask sys-kernel/dracut
root #dracut --kver=5.15.52-gentoo

L'image initramfs sera stockée dans /boot/. Le fichier résultant peut être trouvé en listant simplement les fichiers commençant par initramfs :

root #ls /boot/initramfs*

Maintenant, continuer avec les modules du noyau.

Les modules du noyau

Configurer les modules

Remarque
Il est facultatif de lister manuellement les modules matériels. udev chargera normalement tous les modules pour les matériels détectés comme étant connectés dans la plupart des cas. Cependant, il n'est pas préjudiciable que les modules automatiquement détectés soient listés. Quelquefois, un matériel exotique nécessite de l'aide pour charger ses pilotes.

Listez les modules qui doivent être chargés automatiquement dans les fichiers /etc/modules-load.d/*.conf, un module par ligne. Des options supplémentaires peuvent être ajoutées, si besoin, dans les fichiers /etc/modprobe.d/*.conf.

Pour voir tous les modules disponibles, exécuter la commande find suivante. Ne pas oublier de remplacer "<version noyau>" par la version du noyau venant d'être compilé.

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

Force loading particular kernel modules

Par exemple, pour charger automatiquement le module 3c59x.ko (correspondant au pilote pour une carte réseau de la famille 3Com), éditez le fichier /etc/modules-load.d/network.conf et ajoutez-y le nom du module. Le nom du fichier n'a pas d'importance.

root #mkdir -p /etc/modules-load.d
root #nano -w /etc/modules-load.d/network.conf

Note that the module's .ko file suffix is insignificant to the loading mechanism and left out of the configuration file:

FILE /etc/modules-load.d/network.confForcer le chargement du module 3c59x
3c59x

Continuer l'installation avec Configuration du système.





Informations sur le système de fichiers

Étiquettes de systèmes de fichiers et UUIDs

MBR (BIOS) et GPT incluent tous les deux le support pour les étiquettes de système de fichiers et les UUIDs de système de fichiers. Ces attributs peuvent être définis dans /etc/fstab comme alternatives lors de l'utilisation de la commande mount pour détecter et monter les blocs de périphériques. Les étiquettes de système de fichiers et les UUIDs de système de fichiers sont identifiés par le préfixe LABEL et UUID et peuvent être visualisés grâce à la commande blkid :

root #blkid
Attention !
Si le système de fichiers à l'intérieur de la partition est supprimé, alors les valeurs d'étiquettes et d'UUIDs seront également modifiées ou supprimées.

En raison de leur unicité, les lecteurs utilisant des tables de partitions de type MBR sont recommandés d'utiliser les UUIDs à la place des étiquettes pour définir les volumes montables dans /etc/fstab.

Important
UUIDs of the filesystem on a LVM volume and its LVM snapshots are identical, therefore using UUIDs to mount LVM volumes should be avoided.

Étiquettes de partitions et UUIDs

Les utilisateurs qui opté pour l'utilisation de GPT ont quelques options plus robustes disponibles afin de définir les partitions dans /etc/fstab. Les étiquettes de partition et les UUIDs de partition peuvent être utilisés pour identifier les partitions individuelles du bloc de périphérique, quel que soit le système de fichiers choisi pour la partition elle-même. Les étiquettes de partition et les UUIDs sont identifiés par les préfixes PARTLABEL et PARTUUID respectivement et peuvent être consultés dans le terminal en exécutant la commande blkid :

root #blkid

Bien que pas toujours vrai pour les étiquettes de partition, utiliser un UUID pour identifier une partition dans fstab garantit que le chargeur de démarrage ne sera pas confus en cherchant un volume spécifique, même si le système de fichiers change dans l'avenir. L'utilisation des anciens fichiers de bloc de périphériques par défaut (/dev/sd*N) pour définir les partitions dans fstab est risquée pour les systèmes qui sont redémarrés régulièrement et qui possèdent des blocs de périphériques SATA régulièrement ajoutés ou supprimés.

La dénomination des fichiers de périphériques de bloc dépend d'un certain nombre de facteurs, y compris comment et dans quel ordre les disques sont attachés au système. Ils peuvent également apparaître dans un ordre différent en fonction duquel les périphériques sont détectés par le noyau au cours du processus de démarrage. Cela étant dit, à moins que l'on ait l'intention de constamment jouer avec la commande de disque, l'utilisation des fichiers de périphériques par défaut est une approche simple et directe.

À propos de fstab

Sous Linux, toutes les partitions utilisées par le système doivent être listées dans /etc/fstab. Ce fichier contient les points de montage de ces partitions (où elles sont vues dans la structure du système de fichier), comment elles doivent être montées et avec quels paramètres (automatiquement ou non, si les utilisateurs peuvent les monter ou non, etc.)

Créer le fichier fstab

Le fichier /etc/fstab utilise un format ressemblant à celui d'un tableau. Chaque ligne comporte six champs, séparés par des espaces blancs (espace, tabulation, ou les deux). Chaque champ à sa propre signification :

  1. Le premier champ indique le périphérique ou système de fichier distant à monter. Plusieurs types d'identificateurs sont disponibles pour les périphériques : chemin vers les fichiers du périphérique, étiquettes des systèmes de fichiers et UUIDs, étiquettes de partitions et UUIDs (Universally unique identifier - Identifiant universel unique).
  2. Le second champ indique le point de montage sur lequel la partition sera montée.
  3. Le troisième champ indique le système de fichier utilisé par la partition.

Le quatrième champ indique les options utilisées par mount lors du montage de la partition. Comme chaque système de fichiers à ses propres options de montage, les administrateurs système sont encouragés à lire la page de manuel de mount (man mount) pour une liste complète. Des options multiples sont séparées par une virgule.

  1. Le cinquième champ est utilisé par dump pour déterminer si la partition doit être sauvegardée ou non. Ce champ peut généralement être laissé à 0.
  2. Le sixième champ est utilisé par fsck pour déterminer dans quel ordre les systèmes de fichiers doivent être vérifiés si le système n'a pas été terminé correctement. Le système de fichier root devrait être à 1 et les autres à 2 (ou 0 si une vérification n'est pas nécessaire).
Important
Le fichier /etc/fstab par défaut fourni par Gentoo n'est pas un fichier /etc/fstab valide, mais juste une sorte de modèle.
root #nano -w /etc/fstab

For a DOS/Legacy BIOS system

Regardons comment noter les options pour la partition /boot/. Ceci n'est qu'un exemple et doit être modifié en fonctions des décisions prises plus tôt dans l'installation. Dans notre exemple de partitionnement x86, /boot/ est généralement la /dev/sda2 partition, avec ext2 comme système de fichier. Cette partition nécessite d'être vérifiée lors du délarrage et nous écrirons donc :

FILE /etc/fstabUne exemple de ligne /boot pour /etc/fstab
/dev/sda2   /boot     ext2    defaults        0 2

Certains utilisateurs ne veulent pas que leur partition /boot/ soit montée automatiquement afin d'augmenter la sécurité de leur système. Ces personnes doivent remplacer defaults par noauto. Cela signifie que ces utilisateurs devront monter manuellement cette partition à chaque fois qu'ils voudront l'utiliser.

Ajouter les règles qui correspondent au schéma de partitionnement décidé précédemment et ajouter des règles pour les périphériques tels que les lecteurs de CD-ROM, et bien sûr, si d'autres partitions ou lecteurs sont utilisés, pour ceux-là également.

Ci-dessous est un exemple plus élaboré de fichier /etc/fstab :

FILE /etc/fstabUn exemple complet de fichier /etc/fstab
/dev/sda2   /boot        ext2    defaults,noatime     0 2
/dev/sda3   none         swap    sw                   0 0
/dev/sda4   /            ext4    noatime              0 1
  
/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0

/dev/cdrom /mnt/cdrom auto noauto,user 0 0 }}

For an EFI system

Below is an example of an /etc/fstab file for an system that will boot via EFI firmware:


FILE /etc/fstabA full /etc/fstab example for a EFI system
# Adjust any formatting difference and additional partitions created from the "Preparing the disks" step
/dev/sda1               defaults    0 2
/dev/sda3   none         swap    sw                   0 0
/dev/sda4   /            xfs    defaults,noatime              0 1
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0

Quand auto est utilisé en tant que troisième champ, cela fait deviner à la commande mount le système de fichiers utilisé. Cela est recommandé pour les supports amovibles car ils peuvent être créés avec des systèmes de fichiers différents. L'option user dans le quatrième champ rend possible pour les utilisateurs non root de monter le CD.

To improve performance, most users would want to add the noatime mount option, which results in a faster system since access times are not registered (those are not needed generally anyway). This is also recommended for systems with solid state drives (SSDs). Users may wish to consider lazytime instead.

Conseil
Due to degradation in performance, defining the discard mount option in /etc/fstab is not recommended. It is generally better to schedule block discards on a periodic basis using a job scheduler such as cron or a timer (systemd). See Periodic fstrim jobs for more information.

Bien vérifier le fichier /etc/fstab, sauvegarder, puis quitter avant de continuer.

Informations de mise en réseau

It is important to note the following sections are provided to help the reader quickly setup their system to partake in a local area network.

For systems running OpenRC, a more detailed reference for network setup is available in the advanced network configuration section, which is covered near the end of the handbook. Systems with more specific network needs may need to skip ahead, then return here to continue with the rest of the installation.

For more specific systemd network setup, please review see the networking portion of the systemd article.

Informations sur l'hôte et le domaine

L'un des choix qui incombe à l'administrateur système est de nommer son ordinateur. Cela peut sembler assez facile, mais la plupart des utilisateurs ont des difficultés à trouver un nom approprié pour le nom d'hôte. Pour aider, il est bon de savoir que cette décision n'est pas finale - cela peut être changé par la suite. Dans les exemples ci-dessous, le nom d'hôte tux est utilisé avec le domaine homenetwork.

Set the hostname (OpenRC or systemd)

root #echo tux > /etc/hostname

systemd

Pour configurer le nom d'hôte du système, l'utilitaire hostnamectl est utilisé.

Pour définir le nom d'hôte à "tux", exécuter :

root #hostnamectl hostname tux

Pour afficher l'aide, exécuter hostnamectl --help ou man 1 hostnamectl.

Réseau

There are many options available for configuring network interfaces. This section covers a only a few methods. Choose the one which seems best suited to the setup needed.

DHCP via dhcpcd (tout système d'initialisation)

Most LAN networks operate a DHCP server. If this is the case, then using the dhcpcd program to obtain an IP address is recommended.

Pour installer :

root #emerge --ask net-misc/dhcpcd

Pour activer puis lancer le service sur un système OpenRC :

root #rc-update add dhcpcd default
root #rc-service dhcpcd start

Pour activer puis lancer le service sur un système systemd :

root #systemctl enable --now dhcpcd

With these steps completed, next time the system boots, dhcpcd should obtain an IP address from the DHCP server. See the Dhcpcd article for more details.

netifrc (OpenRC)

Conseil
This is one particular way of setting up the network using Netifrc on OpenRC. Other methods exist for simpler setups like Dhcpcd.
Configurer le réseau

Lors de l'installation de Gentoo Linux, la mise en réseau a déjà été configurée. Cependant, c'était pour l'environnement live et non pour l'environnement installé. Ici, la configuration du réseau est réalisée pour le système Gentoo Linux installé.

Remarque
Des informations plus détaillées sur la mise en réseau, incluant des sujets avancés tels que bonding, bridging, VLANs 802.1Q ou les réseaux sans fils se trouvent dans la section configuration réseau avancée.

Toutes les informations concernant la mise en réseau sont regroupées dans le fichier /etc/conf.d/net. Ce fichier utilise une syntaxe directe mais peu intuitive. Pas de panique, tout est expliqué plus bas. Un exemple complet et commenté couvrant plusieurs configurations possibles se trouve dans /usr/share/doc/netifrc-*/net.example.bz2.

D'abord, installer net-misc/netifrc :

root #emerge --ask --noreplace net-misc/netifrc

DHCP est utilisé par défaut. Pour que DHCP fonctionne, un client DHCP doit être installé. Cela est expliqué plus tard lors de l'installation des outils systèmes nécessaires.

SI la connexion au réseau doit être configurée à cause d'options DHCP spécifiques or car DHCP n'est pas du tout utilisé, alors ouvrir le fichier /etc/conf.d/net :

root #nano -w /etc/conf.d/net

Configurer les deux variables config_eth0 et routes_eth0 avec les informations d'adresse IP et de routage appropriées :

Remarque
On suppose que l'interface réseau s’appellera eth0. Cela est, cependant, entièrement dépendant du système. Il est recommandé de supposer que l'interface portera la même nom que lors du démarrage depuis le support d'installation si le support d'installation utilisé est suffisamment récent. Plus d'informations sont accessibles dans la section Nommage de l'interface réseau.
FILE /etc/conf.d/netDéfinition d'un adresse IP statique
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"

Pour utiliser DHCP, définir la variable config_eth0>/var> :

FILE /etc/conf.d/netParamétrage DHCP
config_eth0="dhcp"

Lire /usr/share/doc/netifrc-*/net.example.bz2 pour une liste d'options de configuration supplémentaires. Lire également la page de manuel de DHCP si des options DHCP spécifiques doivent être utilisées.

Si le système possède plusieurs interfaces réseau, répéter les étapes précédentes pour config_eth1, config_eth2, etc.

Sauvegarder la configuration et quitter avant de continuer.

Démarrer automatiquement la mise en réseau au démarrage

Pour activer les interfaces réseau lors du démarrage, elles doivent être ajoutées au runlevel par défaut.

root #cd /etc/init.d
root #ln -s net.lo net.eth0
root #rc-update add net.eth0 default

Si le système possède plusieurs interfaces réseau, les fichiers appropriés net.* doivent être crées de la même manière que pour net.eth0.

Si, après le démarrage du système, il est découvert que le nom de l'interface réseau (qui est actuellement documentée comme eth0) était erronée, exécuter les étapes suivantes afin de rectifier le problème :

  1. Mettre à jour le fichier /etc/conf.d/net avec le nom d'interface correct (comme enp3s0 ou enp5s0, au lieu de eth0).
  2. Créer un nouveau lien symbolique (comme /etc/init.d/net.enp3s0).
  3. Supprimer l'ancien lien symbolique (rm /etc/init.d/net.eth0).
  4. Ajouter le nouveau au runlevel par défaut.
  5. Supprimer l'ancien en utilisant la commande rc-update del net.eth0 default.

Le fichier d'hôtes

Ensuite, informer Linux sur l'environnement réseau. Cela se fait dans le fichier /etc/hosts et aide à la résolution des noms de domaines aux adresses IPs pour les hôtes qui ne sont pas résolus par les serveurs de noms.

root #nano -w /etc/hosts
FILE /etc/hostsRemplir les informations réseau
# Cela définie le système actuelle et doit être mis
127.0.0.1     tux.homenetwork tux localhost
  
# Définitions optionnelles d'autres systèmes sur le réseau
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny

Sauvegarder et quitter l'éditeur pour continuer.

Optionnel : Faire fonctionner PCMCIA

Les utilisateurs de PCMCIA doivent maintenant installer le paquet sys-apps/pcmciautils.

root #emerge --ask sys-apps/pcmciautils

Informations système

Mot de passe root

Configurer le mot de passe root en utilisant la commande passwd.

root #passwd

Le compte Linux root est un compte des plus puissants, il est donc important de choisir un mot de passe fort. Plus tard, un compte utilisateur régulier sera créé pour les utilisations quotidiennes.

Configuration de l'initialisation et du démarrage

OpenRC

Quand OpenRC est utilisé avec Gentoo, il utilise le fichier /etc/rc.conf pour configurer les services, le démarrage et l'arrêt d'un système. Ouvrir /etc/rc.conf et s'émerveiller devant tous les commentaires du fichier. Vérifier les configurations et les modifier si nécessaire.

root #nano -w /etc/rc.conf

Ensuite, ouvrir le fichier /etc/conf.d/keymaps afin de gérer la configuration du clavier. Le modifier pour configurer et sélectionner le bon clavier.

root #nano -w /etc/conf.d/keymaps

Prendre bien soin lors de la configuration de la variable keymap. Si le mauvais schéma de clavier est sélectionné, il se passera des choses bizarres lors de l'utilisation du clavier.

Finalement, modifier le fichier /etc/conf.d/hwclock afin de configurer les options d'horloge.

root #nano -w /etc/conf.d/hwclock

Si l'horloge matérielle n'utilise pas UTC, il est nécessaire de configurer clock="local" dans le fichier. Sinon le système peut montrer des comportements d'horloge faussés.

systemd

First, it is recommended to run systemd-firstboot which will prepare various components of the system are set correctly for the first boot into the new systemd environment. The passing the following options will include a prompt for the user to set a locale, timezone, hostname, root password, and root shell values. It will also assign a random machine ID to the installation:

root #systemd-firstboot --prompt --setup-machine-id

Next users should run systemctl to reset all installed unit files to the preset policy values:

root #systemctl preset-all

It's possible to run the full preset changes but this may reset any services which were already configured during the process:

root #systemctl preset-all

These two steps will help ensure a smooth transition from the live environment to the installation's first boot.





Outil de journalisation du système

OpenRC

Quelques outils sont absents de l'archive tar d'étape 3 car plusieurs paquets fournissent la même fonctionnalité. Le choix est laissé à l'utilisateur de savoir quels paquets installer.

Le premier outil sur lequel un choix doit se faire est un outil de journalisation pour le système. Unix et Linux ont un historique excellent de capacités de journalisations - si besoin, tout ce qui se passe sur le système peut être enregistré dans des journaux.

Gentoo offre plusieurs utilitaires de journalisation, notamment :

  • app-admin/sysklogd - Offre l'ensemble traditionnel des démons de journalisation système. La configuration par défaut fonctionne correctement ce qui fait de ce paquet une bonne option pour les débutants.
  • app-admin/syslog-ng - Un système de journalisation avancé. Nécessite une configuration supplémentaire pour fonctionner au delà de la journalisation dans un seul gros fichier. Les utilisateurs avancés peuvent choisir ce système de journalisation du fait de son potentiel mais attention, un configuration est nécessaire pour une journalisation intelligente.
  • app-admin/metalog - Un système de journalisation hautement configurable.

D'autres sont disponibles depuis Portage - le nombre de paquets disponibles augmente tous les jours.

Conseil
Si syslog-ng sera utilisé, il est recommandé d'installer et de configurer logrotate par la suite car il ne fournit aucun mécanisme de rotation pour les fichiers du journal. Les nouvelles versions (>= 2.0) de sysklogd intègrent par contre leur propre mécanisme de rotation.

Pour installer l'outil de journalisation désiré, installez-le. Sur OpenRC, ajoutez-le au niveau d'exécution par défaut en utilisant rc-update. L'exemple suivant installe app-admin/sysklogd :

root #emerge --ask app-admin/sysklogd
root #rc-update add sysklogd default

systemd

Conseil
Les utilisateurs de systemd peuvent normalement passer cette étape, à moins qu'ils souhaitent spécifiquement un outil de journalisation système. systemd inclut journald, qui fournit déjà cette fonctionnalité.

See man journalctl for more details on using journalctl to query and review the systems logs.

For a number of reasons, such as the case of forwarding logs to a central host, it may be important to include redundant system logging mechanisms on a systemd-based system. This is a irregular occurrence for the handbook's typical audience and considered an advanced use case. It is therefore not covered by the handbook.

Facultatif : daemon Cron

OpenRC

Ensuite viens le daemon cron. Bien que cela soit facultatif et pas nécessaire pour tous les systèmes, il est judicieux d'en installer un.

Un démon cron exécute des commandes programmées. Cela est très utile si certaines commandes doivent être exécutées régulièrement (à intervalle quotidienne, hebdomadaire ou mensuelle).

All cron daemons support high levels of granularity for scheduled tasks, and generally include the ability to send an email or other form of notification if a scheduled task does not complete as expected.

Gentoo offre plusieurs démons cron possibles, notamment sys-process/bcron, sys-process/dcron, sys-process/fcron, et sys-process/cronie. Installer l'un d'entre eux est similaire à l'installation d'un système de journalisation. L'exemple suivant utilise sys-process/cronie :

  • sys-process/cronie - cronie is based on the original cron and has security and configuration enhancements like the ability to use PAM and SELinux.
  • sys-process/dcron - This lightweight cron daemon aims to be simple and secure, with just enough features to stay useful.
  • sys-process/fcron - A command scheduler with extended capabilities over cron and anacron.
  • sys-process/bcron - A younger cron system designed with secure operations in mind. To do this, the system is divided into several separate programs, each responsible for a separate task, with strictly controlled communications between parts.

cronie

The following example uses sys-process/cronie:

root #emerge --ask sys-process/cronie

Sur OpenRC :

root #rc-update add cronie default

Sur systemd :

root #systemctl enable cronie
root #rc-update add cronie default

Alternative: dcron

root #emerge --ask sys-process/dcron

Si dcron est utilisé, une commande d'initialisation supplémentaire doit être exécutée :

root #crontab /etc/crontab

Alternative: fcron

root #emerge --ask sys-process/fcron

If fcron is the selected scheduled task handler, an additional emerge step is required:

root #emerge --config sys-process/fcron

Alternative: bcron

bcron is a younger cron agent with built-in privilege separation.

root #emerge --ask sys-process/bcron

systemd

Similar to system logging, systemd-based systems include support for scheduled tasks out-of-the-box in the form of timers. systemd timers can run at a system-level or a user-level and include the same functionality that a traditional cron daemon would provide. Unless redundant capabilities are necessary, installing an additional task scheduler such as a cron daemon is generally unnecessary and can be safely skipped.

Facultatif : Indexation des fichiers

Pour indéxer le système de fichiers afin de fournir des fonctions de recherche plus rapides, installez sys-apps/mlocate.

root #emerge --ask sys-apps/mlocate

Facultatif : Accès distant

Conseil
opensshd's default configuration does not allow root to login as a remote user. Please create a non-root user and configure it appropriately to allow access post-installation if required, or adjust /etc/ssh/sshd_config to allow root.

Pour pouvoir accéder au système à distance après l'installation, sshd doit être configuré pour être lancé au démarrage.

OpenRC

Pour ajouter le script sshd au niveau d'exécution par défaut, sur OpenRC :

root #rc-update add sshd default

Si l'accès à la console série est nécessaire (ce qui est possible dans le cas de serveurs distants), agetty doit être configuré.

Sur OpenRC, décommenter la section sur la console série dans /etc/inittab :

root #nano -w /etc/inittab
# SERIAL CONSOLES
s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100
s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100

systemd

Sur systemd :

root #systemctl enable sshd

Sur systemd :

root #systemctl enable getty@tty1.service

Optional: Shell completion

Bash

Bash is the default shell for Gentoo systems, and therefore installing completion extensions can aid in efficiency and convenience to managing the system. The app-shells/bash-completion package will install completions available for Gentoo specific commands, as well as many other common commands and utilities:

root #emerge --ask app-shells/bash-completion

Post installation, bash completion for specific commands can managed through eselect. See the Shell completion integrations section of the bash article for more details.

Time synchronization

It is important to use some method of synchronizing the system clock. This is usually done via the NTP protocol and software. Other implementations using the NTP protocol exist, like Chrony.

Pour installer Chrony, par exemple :

root #emerge --ask net-misc/chrony

OpenRC

Sur OpenRC :

root #rc-update add chronyd default

systemd

Sur systemd :

root #systemctl enable chronyd

Alternatively, systemd users may wish to use the simpler systemd-timesyncd SNTP client which is installed by default.

root #systemctl enable systemd-timesyncd.service

Outils de systèmes de fichiers

En fonction des systèmes de fichiers utilisés, il est nécessaire d'installer les utilitaires de systèmes de fichiers requis (pour vérifier l'intégrité su système de fichiers, créer des systèmes de fichiers additionnels, etc.). Noter que les outils pour gérer les système de fichiers ext4 (sys-fs/e2fsprogs) sont déjà installé dans le cadre de l'ensemble @system.

Le tableau suivant liste les outils à installer si un certain système de fichiers est installé :

Système de fichiers Paquet
Ext 4 sys-fs/e2fsprogs
XFS sys-fs/xfsprogs
ReiserFS sys-fs/reiserfsprogs
JFS sys-fs/jfsutils
VFAT (FAT32, ...) sys-fs/dosfstools
Btrfs sys-fs/btrfs-progs
ZFS sys-fs/zfs

It's recommended that sys-block/io-scheduler-udev-rules is installed for the correct scheduler behavior with e.g. nvme devices:

root #emerge --ask sys-block/io-scheduler-udev-rules
Conseil
Pour plus d'informations sur les systèmes de fichiers dans Gentoo, se réfrérer à l'article sur les systèmes de fichiers.

Outils de mise en réseau

Si il n'est pas nécessaire d'installer d'outils de mise en réseau supplémentaires, continuer immédiatement avec la section sur la Configuration d'un système d'amorçage

Installer un client DHCP

Important
Bien que facultatif, la majorité des utilisateurs nécessitent un client DHCP pour se connecter au serveur DHCP de leur réseau. Profiter de cette opportunité pour installer un client DHCP. Ci cette étape est oubliée, le système peut alors être incapable de se connecter au réseau rendant ainsi impossible le téléchargement d'un client DHCP par la suite.

Pour que le système obtienne automatiquement une adresse IP pour un ou plusieurs interfaces réseau utilisant des scripts netifrc, il est nécessaire d'installer un client DHCP. Nous recommandons l'utilisation du paquet net-misc/dhcpcd même si de nombreux autres client DHCP sont disponibles dans le répertoire Gentoo :

root #emerge --ask net-misc/dhcpcd

Facultatif : Installer un client PPPoE

SI PPP est utilisé pour se connecter à Internet, installer le paquet net-dialup/ppp :

root #emerge --ask net-dialup/ppp

Facultatif : Installer des outils de réseau sans fil

Si le système doit se connecter à des réseaux sans fil, installez le paquet net-wireless/iw pour les réseaux Open ou WEP et/ou le paquet net-wireless/wpa_supplicant pour les réseaux WPA ou WPA2. . iw est également un outil de diagnostic utile pour scanner les réseaux sans fil.

root #emerge --ask net-wireless/iw net-wireless/wpa_supplicant

Maintenant, continuer avec la Configuration du système d'amorçage





Although installing for a 32-bit CPU, almost all x86 motherboards (starting from around 2006-2007 until the present) that were produced with support for UEFI have 64-bit UEFI firmware. Some users may notice "64" in the name of configuration settings and files in the coming sections below. This is expected in nearly every case.

There are a few very small exceptions to this 64-bit UEFI firmware rule, namely few early Apple Macs and some Intel Atom powered Dell tablet PCs had support for 32-bit UEFI firmware. The vast majority of readers will never encounter 32-bit UEFI firmware in the wild. For this reason 32-bit UEFI firmware is not covered in the x86 Handbook.


Selecting a boot loader

With the Linux kernel configured, system tools installed and configuration files edited, it is time to install the last important piece of a Linux installation: the boot loader.

The boot loader is responsible for firing up the Linux kernel upon boot - without it, the system would not know how to proceed when the power button has been pressed.

For x86, we document how to configure either GRUB or LILO for DOS/Legacy BIOS based systems, and GRUB or efibootmgr for UEFI systems.

In this section of the Handbook a delineation has been made between emerging the boot loader's package and installing a boot loader to a system disk. Here the term emerge will be used to ask Portage to make the software package available to the system. The term install will signify the boot loader copying files or physically modifying appropriate sections of the system's disk drive in order to render the boot loader activated and ready to operate on the next power cycle.

Default: GRUB

By default, the majority of Gentoo systems now rely upon GRUB (found in the sys-boot/grub package), which is the direct successor to GRUB Legacy. With no additional configuration, GRUB gladly supports older BIOS ("pc") systems. With a small amount of configuration, necessary before build time, GRUB can support more than a half a dozen additional platforms. For more information, consult the Prerequisites section of the GRUB article.

Emerge

When using an older BIOS system supporting only MBR partition tables, no additional configuration is needed in order to emerge GRUB:

root #emerge --ask --verbose sys-boot/grub

A note for UEFI users: running the above command will output the enabled GRUB_PLATFORMS values before emerging. When using UEFI capable systems, users will need to ensure GRUB_PLATFORMS="efi-64" is enabled (as it is the case by default). If that is not the case for the setup, GRUB_PLATFORMS="efi-64" will need to be added to the /etc/portage/make.conf file before emerging GRUB so that the package will be built with EFI functionality:

root #echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
root #emerge --ask sys-boot/grub

If GRUB was somehow emerged without enabling GRUB_PLATFORMS="efi-64", the line (as shown above) can be added to make.conf and then dependencies for the world package set can be re-calculated by passing the --update --newuse options to emerge:

root #emerge --ask --update --newuse --verbose sys-boot/grub

The GRUB software has now been merged onto the system, but it has not yet been installed as a secondary bootloader.

Install

Next, install the necessary GRUB files to the /boot/grub/ directory via the grub-install command. Presuming the first disk (the one where the system boots from) is /dev/sda, one of the following commands will do:

DOS/Legacy BIOS systems

For DOS/Legacy BIOS systems:

root #grub-install /dev/sda

EFI systems

Important
Make sure the EFI system partition has been mounted before running grub-install. It is possible for grub-install to install the GRUB EFI file (grubx64.efi) into the wrong directory without providing any indication the wrong directory was used.

For EFI systems:

root #grub-install --target=x86_64-efi --efi-directory=
Installing for x86_64-efi platform.
Installation finished. No error reported.

Upon successful installation, the output should match the output of the previous command. If the output does not match exactly, then proceed to Debugging GRUB, otherwise jump to the Configure step.

Debugging GRUB

When debugging GRUB, there are a couple of quick fixes that may result in a bootable installation without having to reboot to a new live image environment.

In the event that "EFI variables are not supported on this system" is displayed somewhere in the output, it is likely the live image was not booted in EFI mode and is presently in Legacy BIOS boot mode. The solution is to try the removable GRUB step mentioned below. This will overwrite the executable EFI file located at /EFI/BOOT/BOOTX64.EFI. Upon rebooting in EFI mode, the motherboard firmware may execute this default boot entry and execute GRUB.

If grub-install returns an error that says "Could not prepare Boot variable: Read-only file system", and the live environment was correctly booted in EFI mode, then it should be possible to remount the efivars special mount as read-write and then re-run the aforementioned grub-install command:

root #mount -o remount,rw,nosuid,nodev,noexec --types efivarfs efivarfs /sys/firmware/efi/efivars

This is caused by certain non-official Gentoo environments not mounting the special EFI filesystem by default. If the previous command does not run, then reboot using an official Gentoo live image environment in EFI mode.

Some motherboard manufacturers with poor UEFI implementations seem to only support the /EFI/BOOT directory location for the .EFI file in the EFI System Partition (ESP). The GRUB installer can create the .EFI file in this location automatically by appending the --removable option to the install command. Ensure the ESP has been mounted before running the following command; presuming it is mounted at (as defined earlier), run:

root #grub-install --target=x86_64-efi --efi-directory= --removable

This creates the 'default' directory defined by the UEFI specification, and then creates a file with the default name: bootx64.efi.

Configure

Next, generate the GRUB configuration based on the user configuration specified in the /etc/default/grub file and /etc/grub.d scripts. In most cases, no configuration is needed by users as GRUB will automatically detect which kernel to boot (the highest one available in /boot/) and what the root file system is. It is also possible to append kernel parameters in /etc/default/grub using the GRUB_CMDLINE_LINUX variable.

To generate the final GRUB configuration, run the grub-mkconfig command:

root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-5.15.52-gentoo
Found initrd image: /boot/initramfs-genkernel-x86-5.15.52-gentoo
done

The output of the command must mention that at least one Linux image is found, as those are needed to boot the system. If an initramfs is used or genkernel was used to build the kernel, the correct initrd image should be detected as well. If this is not the case, go to /boot/ and check the contents using the ls command. If the files are indeed missing, go back to the kernel configuration and installation instructions.

Conseil
The os-prober utility can be used in conjunction with GRUB to detect other operating systems from attached drives. Windows 7, 8.1, 10, and other distributions of Linux are detectable. Those desiring dual boot systems should emerge the sys-boot/os-prober package then re-run the grub-mkconfig command (as seen above). If detection problems are encountered be sure to read the GRUB article in its entirety before asking the Gentoo community for support.

Alternative 1: LILO

Emerge

LILO, the LInuxLOader, is the tried and true workhorse of Linux boot loaders. However, it lacks features when compared to GRUB. LILO is still used because, on some systems, GRUB does not work and LILO does. Of course, it is also used because some people know LILO and want to stick with it. Either way, Gentoo supports both bootloaders.

Installing LILO is a breeze; just use emerge.

root #emerge --ask sys-boot/lilo

Configure

To configure LILO, first create /etc/lilo.conf:

root #nano -w /etc/lilo.conf

In the configuration file, sections are used to refer to the bootable kernel. Make sure that the kernel files (with kernel version) and initramfs files are known, as they need to be referred to in this configuration file.

Remarque
If the root filesystem is JFS, add an append="ro" line after each boot item since JFS needs to replay its log before it allows read-write mounting.
FILE /etc/lilo.confExample LILO configuration
boot=/dev/sda             # Install LILO in the MBR
prompt                    # Give the user the chance to select another section
timeout=50                # Wait 5 (five) seconds before booting the default section
default=gentoo            # When the timeout has passed, boot the "gentoo" section
compact                   # This drastically reduces load time and keeps the map file smaller; may fail on some systems
  
image=/boot/vmlinuz-5.15.52-gentoo
  label=gentoo            # Name we give to this section
  read-only               # Start with a read-only root. Do not alter!
  root=/dev/sda4          # Location of the root filesystem
  
image=/boot/vmlinuz-5.15.52-gentoo
  label=gentoo.rescue     # Name we give to this section
  read-only               # Start with a read-only root. Do not alter!
  root=/dev/sda4         # Location of the root filesystem
  append="init=/bin/bb"   # Launch the Gentoo static rescue shell
  
# The next two lines are for dual booting with a Windows system.
# In this example, Windows is hosted on /dev/sda6.
other=/dev/sda6
  label=windows
Remarque
If a different partitioning scheme and/or kernel image is used, adjust accordingly.

If an initramfs is necessary, then change the configuration by referring to this initramfs file and telling the initramfs where the root device is located:

FILE /etc/lilo.confAdding initramfs information to a boot entry
image=/boot/vmlinuz-5.15.52-gentoo
  label=gentoo
  read-only
  append="root=/dev/sda4"
  initrd=/boot/initramfs-genkernel-x86-5.15.52-gentoo

If additional options need to be passed to the kernel, use an append statement. For instance, to add the video statement to enable framebuffer:

FILE /etc/lilo.confAdding video parameter to the boot options
image=/boot/vmlinuz-5.15.52-gentoo
  label=gentoo
  read-only
  root=/dev/sda4
  append="video=uvesafb:mtrr,ywrap,1024x768-32@85"

Users that used genkernel should know that their kernels use the same boot options as is used for the installation CD. For instance, if SCSI device support needs to be enabled, add doscsi as kernel option.

Now save the file and exit.

Install

To finish up, run the /sbin/lilo executable so LILO can apply the /etc/lilo.conf settings to the system (i.e. install itself on the disk). Keep in mind that /sbin/lilo must be executed each time a new kernel is installed or a change has been made to the lilo.conf file in order for the system to boot if the filename of the kernel has changed.

root #/sbin/lilo

Alternative 2: efibootmgr

Computer systems with UEFI-based firmware technically do not need secondary bootloaders (e.g. GRUB) in order to boot kernels. Secondary bootloaders exist to extend the functionality of UEFI firmware during the boot process. Using GRUB (see the prior section) is typically easier and more robust because it offers a more flexible approach for quickly modifying kernel parameters at boot time.

System administrators who desire to take a minimalist, although more rigid, approach to booting the system can avoid secondary bootloaders and boot the Linux kernel as an EFI stub.

The sys-boot/efibootmgr application is a tool to used interact with UEFI firmware - the system's primary bootloader. Normally this looks like adding or removing boot entries to the firmware's list of bootable entries. It can also update firmware settings so that the Linux kernels that were previously added as bootable entries can be executed with additional options. These interactions are performed through special data structures called EFI variables (hence the need for kernel support of EFI vars).

Ensure the EFI stub kernel article has been reviewed before continuing. The kernel must have specific options enabled to be directly bootable by the UEFI firmware. It may be necessary to recompile the kernel in order to build-in this support.

It is also a good idea to take a look at the efibootmgr article for additional information.

Remarque
To reiterate, efibootmgr is not a requirement to boot an UEFI system; it is merely necessary to add an entry for an EFI-stub kernel into the UEFI firmware. When built appropriately with EFI stub support, the Linux kernel itself can be booted directly. Additional kernel command-line options can be built-in to the Linux kernel (there is a kernel configuration option called CONFIG_CMDLINE. Similarly, support for initramfs can be 'built-in' to the kernel as well. These decisions must be made prior to kernel compilation, resulting in a more static boot configuration.

Install the efibootmgr software:

root #emerge --ask sys-boot/efibootmgr

Create the location, and copy the kernel into this location, calling it bootx64.efi:

root #mkdir -p
root #cp /boot/vmlinuz-* /bootx64.efi
Remarque
The use of a backslash (\) as directory path separator is mandatory when using UEFI definitions.

Create boot entry called "gentoo" for the freshly compiled EFI stub kernel within the UEFI firmware:

root #efibootmgr --create --disk /dev/sda --part 2 --label "gentoo" --loader "\bootx64.efi"

If an initial RAM file system (initramfs) is used, add the proper boot option to it:

root #efibootmgr -c -d /dev/sda -p 2 -L "gentoo" -l "\bootx64.efi" initrd='\initramfs-genkernel-x86-5.15.52-gentoo'

With these changes done, when the system reboots, a boot entry called "gentoo" will be available.

Alternative 3: Syslinux

Syslinux is yet another bootloader alternative for the x86 architecture. It supports MBR and, as of version 6.00, it supports EFI boot. PXE (network) boot and lesser-known options are also supported. Although Syslinux is a popular bootloader for many it is unsupported by the Handbook. Readers can find information on emerging and then installing this bootloader in the Syslinux article.



Redémarrer le système

Quittez l'environnement et démontez toutes les partitions montées. Ensuite, exécutez cette commande magique qui lance le vrai test final : reboot.

root #exit
cdimage ~#cd
cdimage ~#umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~#umount -R /mnt/gentoo
cdimage ~#reboot

N'oubliez pas de retirer le CD d'installation, sinon il pourrait être redémarré à la place du nouveau système Gentoo.

Une fois redémarré dans le nouvel environnement Gentoo, finir avec Finalisation de l’installation de Gentoo.





Gestion des utilisateurs

Ajouter un utilisateur pour un usage quotidien

Travailler en tant que root sur un système Unix/Linux est dangereux et doit être évité autant que possible. Par conséquent, il est fortement recommandé d'ajouter un utilisateur pour une utilisation quotidienne.

Les groupes auxquels appartient l'utilisateur définissent quelles activités ce dernier peut effectuer. Le tableau suivant liste un certain nombre de groupes importants :

Group Description
audio Possibilité d'utiliser les périphériques audio.
cdrom Possibilité d'accéder directement aux périphériques optiques.
floppy Possibilité d'accéder directement aux lecteurs de disquettes.
games Possibilité d'accéder aux jeux.
portage Possibilité d'accéder aux ressources restreintes de portage.
usb Possibilité d'accéder aux périphériques USB.
video Possibilité d'accéder aux périphériques de capture vidéo et d'utiliser l'accélération matérielle.
wheel Possibilité d'utiliser la commande su.

Par exemple, pour créer un utilisateur appelé larry qui est membre des groupes wheel, users, et audio, se connecter d'abord en tant que root (seul root peut créer de nouveaux utilisateurs) puis exécuter useradd :

Login:root
Password: (Entrer le mot de passe root)
root #useradd -m -G users,wheel,audio -s /bin/bash larry
root #passwd larry
Password: (Entrer le mot de passe pour larry)
Re-enter password: (Confirmer le mot de passe)

Si jamais un utilisateur a besoin d'effectuer une opération en tant que root, il peut utiliser su - pour recevoir temporairement les privilèges de root. Un autre moyen est d'utiliser les utilitaires sudo (app-admin/sudo) ou doas (app-admin/doas) qui, si configurés correctement, sont très sécurisés.

Nettoyage du disque

Suppression des archives

Une fois l'installation de Gentoo terminée et le système redémarré, si tout s'est bien passé, il est possible de supprimer l'archive stage3 du disque dur. Rappelez-vous qu'elle se situe dans le répertoire racine /.

root #rm /stage3-*.tar.*

Et maintenant ?

Et maintenant ? Que faire ? Que reste-t-il à explorer ? Gentoo offre à ses utilisateurs de nombreuses possibilités, et donc de nombreuses fonctionnalités, documentées pour la plupart.

Documentation supplémentaire

It is important to note that, due to the number of choices available in Gentoo, the documentation provided by the handbook is limited in scope - it mainly focuses on the basics of getting a Gentoo system up and running and basic system management activities. The handbook intentionally excludes instructions on graphical environments, details on hardening, and other important administrative tasks. That being stated, there are more sections of the handbook to assist readers with more basic functions.

Il est fortement conseillé de lire la prochaine partie du manuel Gentoo, intitulée Travailler avec Gentoo, qui explique comment maintenir le système à jour, comment installer de nouveaux logiciels, ce que sont les options de la variable USE, comment fonctionne le système d'initialisation de Gentoo, etc.

Outre le fait de lire ce manuel, il est recommandé d'explorer d'autres coins du wiki Gentoo afin de trouver une documentation supplémentaire proposée par la communauté. L'équipe du wiki Gentoo offre également un Aperçu de la documentation répertoriant une sélection des articles trouvés sur ce wiki. Par exemple, il référence le guide des paramètres régionaux pour faire en sorte qu'un système se sente comme à la maison.

The majority of users with desktop use cases will setup graphical environments in which to work natively. There are many community maintained 'meta' articles for supported desktop environments (DEs) and window managers (WMs). Readers should be aware that each DE will require slightly different setup steps, which will lengthen add complexity to bootstrapping.

Many other Meta articles exist to provide our readers with high level overviews of available software within Gentoo.

Gentoo sur le web

Important
Readers should note that all official Gentoo sites online are governed by Gentoo's code of conduct. Being active in the Gentoo community is a privilege, not a right, and users should be aware that the code of conduct exists for a reason.

With the exception of the Libera.Chat hosted internet relay chat (IRC) network and the mailing lists, most Gentoo websites require an account on a per site basis in order to ask questions, open a discussion, or enter a bug.

Forums et IRC

Tout le monde est bien toujours le bienvenu sur nos forums Gentoo ou l'un de nos nombreux canaux IRC Gentoo

Listes de diffusion

Nous avons aussi plusieurs listes de diffusion ouvertes à tous nos utilisateurs. Les informations sur comment rejoindre se situent sur cette page.

Bugs

Sometimes after reviewing the wiki, searching the forums, and seeking support in the IRC channel or mailing lists there is no known solution to a problem. Generally this is a sign to open a bug on Gentoo's Bugzilla site.

Development guide

Readers who desire to learn more about developing Gentoo can take a look at the Development guide. This guide provides instructions on writing ebuilds, working with eclasses, and provides definitions for many general concepts behind Gentoo development.

Closing thoughts

Profitez de votre installation !

As a reminder, any feedback for this handbook should follow the guidelines detailed in the How do I improve the Handbook? section at the beginning of the handbook.

We look forward to seeing how our users will choose to implement Gentoo to fit their unique use cases and needs.



Warning: Display title "Gentoo Linux x86 Handbook: Installing Gentoo" overrides earlier display title "Handbook:X86/Full/Installation/fr".