Installation Gentoo · 11 min read · Feb 06, 2026

Le Serveur Parfait - Gentoo 2007.0 - Page 2

3 Le Système de Base

3.1 Démarrage du disque d’installation

Insérez votre CD d’installation minimale Gentoo dans votre système et démarrez à partir de celui-ci. Vous pouvez définir certaines options au niveau du chargeur de démarrage, mais si vous le laissez tel quel, il continuera et démarrera Linux tout seul.

Chargeur de démarrage Gentoo

(Il par défaut à utiliser une console framebuffer, mais dans l’intérêt de captures d’écran plus petites, j’ai changé l’option pour utiliser VGA en appuyant sur F1 et en choisissant le noyau gentoo-nofb.)

Une charge de texte défilera sur l’écran pendant que le noyau démarre et que le CD d’installation détecte votre matériel. Ensuite, vous aurez le choix de la disposition du clavier.

Sélection de la disposition du clavier Gentoo

Si vous utilisez un clavier US, vous pouvez simplement le laisser, ou appuyer sur Entrée et cette invite expirera avec ce choix. Je vis en Grande-Bretagne, donc je veux la disposition de clavier uk.

Plus de texte défile…

Installateur Gentoo encore en démarrage

Jusqu’à ce que vous soyez laissé à une invite root.

Installateur Gentoo à l'invite root

Il y a de fortes chances qu’il ait trouvé un serveur DHCP lors de la détection et que vous soyez déjà connecté à Internet. Cependant, nous voulons spécifier notre propre adresse IP tout de suite, donc nous tapons,

net-setup eth0

Et passons en revue les options selon les besoins :

net-setup 1

net-setup 2

net-setup 3

net-setup 4

net-setup 5

net-setup 6

net-setup 7

net-setup 8

net-setup 9

Maintenant vous êtes de retour à l’invite root, comme suggéré, vous voudrez peut-être simplement vérifier que votre réseau fonctionne correctement.

ifconfig

net-setup complet

Et toutes les autres commandes que vous souhaitez exécuter pour vous assurer que vous avez une connexion Internet. Par exemple (d’après le Manuel Gentoo) :

ping -c 3 www.gentoo.org

Maintenant, définissez temporairement votre nom d’hôte. Nous allons le lire plus tard pour automatiser certaines étapes ultérieures de l’installation.

hostname server1.example.com

3.2 Connexion à l’environnement d’installation à distance

Définissez le mot de passe root. Ceci est uniquement pour le système d’installation, pas pour le système installé final :

passwd

Et démarrez sshd :

/etc/init.d/sshd start

Les clés d’hôte seront créées et le démon sshd sera démarré. Vous pouvez maintenant vous connecter au système d’installation depuis le confort de votre programme de terminal habituel sur votre propre ordinateur. Évidemment, si vous préférez, ou si vous devez, vous pouvez omettre cette étape et continuer à utiliser la console.

ssh [email protected]

Évidemment, cela ne fonctionnera que si server1.example.com se résout sur votre système.

Première connexion à distance

3.3 Configuration du disque système

Cette partie sera probablement très différente sur d’autres architectures. Référez-vous au Manuel Gentoo si vous n’êtes pas sur x86 ou amd64, ou si vous souhaitez faire autre chose que la disposition par défaut suggérée dans le manuel x86.

Pour partitionner le disque, utilisez parted. Nous allons juste y aller directement et configurer le schéma de partitionnement Gentoo suggéré, et parted nous permet de le faire d’une manière qui peut être montrée de manière concise en texte :

parted /dev/hda

Vous obtiendrez une invite (parted). À cette invite, entrez les commandes suivantes :

mklabel msdos  
mkpartfs primary ext2 0 32  
mkpartfs primary linux-swap 32 545  
mkpart primary 545 -0  
set 1 boot on  
print

Vous devriez voir quelque chose comme :

Disk /dev/hda: 5906MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  32.9MB  32.9MB  primary  ext2         boot 
 2      32.9MB  545MB   512MB   primary  linux-swap        
 3      545MB   5906MB  5361MB  primary                    
(parted) 

Tapez quit pour quitter et enregistrer les modifications.

Nous avons déjà créé les systèmes de fichiers ext2 et swap sur les partitions 1 et 2, donc nous voulons juste créer le système de fichiers ext3 sur la partition 3.

mke2fs -j /dev/hda3

Et activons le swap pour notre environnement d’installation :

swapon /dev/hda2

Et montons le système de fichiers sur lequel nous allons installer.

mount /dev/hda3 /mnt/gentoo  
mkdir /mnt/gentoo/boot  
mount /dev/hda1 /mnt/gentoo/boot

3.4 Préparation pour l’étape 3

Confirmez que la date et l’heure sont correctes pour votre système. Si ce n’est pas le cas, les choses peuvent devenir confuses plus tard.

date
Thu Aug 30 13:58:36 UTC 2007

Ce qui, en effet, au moment où je l’ai fait, était un peu faux, donc corrigez-le comme ceci :

date 083013542007

Maintenant, nous devons télécharger le tarball Stage 3 et l’instantané Portage. Plutôt que de jouer avec des liens ou lynx, utilisons simplement quelques commandes :

mirrorselect --interactive --output > /tmp/mirror

mirrorselect - téléchargement des miroirs

Sélectionnez les miroirs qui vous conviennent et sélectionnez OK. Lorsque vous quittez, une ligne sera écrite dans /tmp/mirror avec vos sélections. Nous voulons juste le premier, donc :

source /tmp/mirror   
MIRRORS=($GENTOO_MIRRORS)   
MIRROR=${MIRRORS[0]}   
cd /mnt/gentoo   
wget ${MIRROR}releases/x86/current/stages/stage3-$(arch)-2007.0.tar.bz2 \   
|| wget ${MIRROR}releases/x86/current/stages/stage3-x86-2007.0.tar.bz2   
wget ${MIRROR}snapshots/portage-latest.tar.bz2

Il n’y a pas vraiment de moyen de secours pour déterminer les portions spécifiques à l’architecture de l’URL ci-dessus stage3, donc si vous n’êtes pas sur x86, référez-vous au Manuel Gentoo.

Décompressez le tarball de l’étape.

tar --extract --verbose --bzip2 --preserve-permissions --file stage3-*.tar.bz2

Décompressez l’instantané de portage.

tar --extract --verbose --bzip2 --file portage-latest.tar.bz2 --directory /mnt/gentoo/usr

Vous pouvez supprimer ces téléchargements maintenant, si vous manquez d’espace.

rm portage* stage*

Maintenant, je vais faire quelque chose d’un peu hérétique pour la communauté Gentoo et laisser etc/make.conf tranquille ! C’est le fichier où des choses comme les CFLAGS sont configurées, et où vous pouvez le définir pour être aussi optimal que vous le souhaitez. Je ne vais pas y toucher. Vous devriez au moins le vérifier pour la santé. S’il est fou, vous pourriez avoir téléchargé le mauvais fichier d’étape. En particulier, sur x86, le drapeau -mtune=i686 est défini par défaut même sur le fichier stage3 x86 standard, ce qui peut être inapproprié si vous installez sur du matériel ancien. Mais en utilisant $(arch), nous espérons éviter de tels problèmes.

vi /mnt/gentoo/etc/make.conf

Nous allons juste ajouter quelques informations dont nous avons besoin. Tout d’abord, les miroirs à partir desquels Gentoo va se télécharger. Nous avons déjà récupéré les miroirs de téléchargement une fois, donc pour éviter de les choisir à nouveau, nous allons prendre cette sélection et ajouter une sélection pour le miroir rsync.

cat /tmp/mirror >> /mnt/gentoo/etc/make.conf   
mirrorselect --interactive --rsync --output >> /mnt/gentoo/etc/make.conf

mirrorselect - miroirs rsync

Maintenant, nous allons copier des éléments dans /mnt/gentoo afin de chrooter dedans et de continuer l’installation. Nous allons également copier la configuration réseau actuelle afin que le système installé ait la même chose. Ce petit script écrira la configuration actuelle de eth0 au format plus récent /etc/conf.d/net.

#!/bin/bash
cat /etc/resolv.conf > /mnt/gentoo/etc/resolv.conf
echo "HOSTNAME=\"$(hostname -f)\"" > /mnt/gentoo/etc/conf.d/hostname
deth0=$(ifconfig eth0 | grep "inet addr")
ip=$(echo $eth0 | cut -f2 -d' ' | cut -f2 -d:)
broadcast=$(echo $eth0 | cut -f3 -d' ' | cut -f2 -d:)
netmask=$(echo $eth0 | cut -f 4 -d' ' | cut -f2 -d:)
gw=$(route -n | grep -e '^0.0.0.0' | unexpand -a | cut -f3)
nservers=$(grep -e '^nameserver' /etc/resolv.conf | cut -f2 -d' ')
sdomains=$(grep -e '^search' /etc/resolv.conf | cut -f2- -d' ')
echo 'modules=( "ifconfig" )' > /mnt/gentoo/etc/conf.d/net
echo "config_eth0=( \"${ip} netmask ${netmask} broadcast ${broadcast}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "routes_eth0=( \"default via ${gw}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "dns_domain_eth0=\"$(hostname -d)\"" >> /mnt/gentoo/etc/conf.d/net
echo "dns_servers_eth0=\"${nservers}\"" >> /mnt/gentoo/etc/conf.d/net
if [ -n "$sdomains" ] ; then echo "dns_search_eth0=\"${sdomains}\"" ; fi >> /mnt/gentoo/etc/conf.d/net

Après cela, /mnt/gentoo/etc/conf.d/net devrait ressembler à ceci, avec les valeurs correctes bien sûr.

modules=( "ifconfig" )
config_eth0=( "192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255" )
routes_eth0=( "default via 192.168.1.1" )
dns_domain_eth0="example.com"
dns_servers_eth0="192.168.1.1"

Utiliser ce format fera en sorte que le script d’initialisation réseau Gentoo utilise les données présentes pour écrire un nouveau /etc/resolv.conf, ainsi que configurer le réseau lui-même, donc à l’avenir, il n’y a qu’un seul fichier à garder correct. (Nous avons copié le /etc/resolv.conf du système d’installation uniquement pour une utilisation dans l’environnement chroot jusqu’à ce que nous démarrions le système installé.)

Après avoir fait cela, nous pouvons compléter les préparatifs pour chroot et entrer.

3.5 Optionnel : Installer temporairement vim dans l’environnement Stage3

Le système Stage 3 de Gentoo n’a pas vi. Au lieu de cela, la pratique par défaut est d’utiliser l’éditeur inclus nano. Si vous préférez vraiment avoir vi, faites ce qui suit maintenant :

VIM=$(which vim)   
VIMDIR=$(dirname ${VIM})   
cp --dereference ${VIM} /mnt/gentoo${VIM}   
ln --symbolic ${VIM} /mnt/gentoo$(dirname ${VIM})/vi

(Les bibliothèques dont il dépend sont déjà en place.)

Cependant, les instructions suivantes supposeront que vous n’avez pas fait cela. Si vous l’avez fait, vous êtes assez intelligent pour substituer la commande que vous voulez.

3.6 Entrer dans l’environnement chroot Stage3

mount -t proc none /mnt/gentoo/proc   
mount -o bind /dev /mnt/gentoo/dev   
chroot /mnt/gentoo /bin/bash   
env-update   
source /etc/profile   
export PS1="(chroot) $PS1"

Maintenant que nous sommes dans l’environnement chrooté, nous allons mettre à jour portage à l’état actuel.

emerge --sync

Si vous êtes préoccupé par l’utilisation de la console de la machine, vous voudrez peut-être définir la disposition du clavier dans /etc/conf.d/keymaps. Sinon, vous pouvez aussi bien le laisser.

nano --nowrap /etc/conf.d/keymaps

Maintenant, nous définissons notre fuseau horaire. Consultez le contenu de /usr/share/zoneinfo pour voir quel fuseau horaire utiliser. (Nous n’allons pas modifier USE ou le make.profile par défaut.) Par exemple,

cp /usr/share/zoneinfo/Europe/London /etc/localtime

Définissez le fuseau horaire dans /etc/conf.d/clock. Il suffit de définir la variable TIMEZONE sur le fichier que vous avez copié dans /etc/localtime plus tôt. Par exemple,

nano --nowrap /etc/conf.d/clock
TIMEZONE="Europe/London"

(N’oubliez pas de décommenter la ligne.)

Vous devrez peut-être définir CLOCK sur local. En général, ce n’est pas nécessaire, mais c’est généralement requis si vous installez dans VMWare et éventuellement d’autres environnements virtuels.

3.7 Installer le noyau

emerge gentoo-sources

Nous allons juste faire une installation genkernel, pour installer le noyau Gentoo standard. C’est en partie pour la simplicité de ce howto. Si vous êtes à l’aise avec la construction de vos propres noyaux, faites-le en suivant les notes du Manuel Gentoo au Chapitre 7.

emerge genkernel   
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

La deuxième commande copie la configuration du noyau du disque d’installation pour être notre noyau actuel. Si nous sommes arrivés jusque-là, il est raisonnable de parier que cette configuration de noyau fonctionne pour nous.

Ici, nous pouvons faire un raccourci et nous épargner une étape plus compliquée plus tard. Nous voulons ajouter le support des quotas à la configuration du noyau. Ce que nous allons faire ici, c’est l’ajouter au fichier de modèle de configuration que genkernel utilise, afin que nous ne perdions pas le changement lorsque nous mettons à jour le noyau.

nano --nowrap /usr/share/genkernel/x86/kernel-config-2.6

Recherchez # CONFIG QUOTA is not set et changez-le pour ce qui suit (en ajoutant les deux lignes suivantes) :

CONFIG_QUOTA=y 
# CONFIG_QFMT_V1 is not set 
CONFIG_QFMT_V2=y 

Ensuite, nous pouvons continuer :

genkernel all

Cela peut prendre un certain temps. Il construit le support pour tout. J’ai dit que cela allait être une construction Gentoo générique.

Remarque : si vous installez sur un disque SCSI ou SATA, il est préférable à ce stade de faire plutôt,

genkernel --menuconfig all

et de sélectionner le pilote de bas niveau approprié pour l’interface SCSI ou SATA à laquelle votre disque système est connecté, afin qu’il soit compilé dans le noyau monolithique plutôt qu’en tant que module. Je crois que cela devrait fonctionner si vous ne le faites pas (en chargeant le module du pilote depuis l’initrd tout comme le disque d’installation), mais pour le moment, il semble que ce ne soit pas le cas.

3.8 Configurer les systèmes de fichiers

nano --nowrap /etc/fstab

En supposant que vous êtes sur le même schéma de partition que moi, c’est-à-dire : suivant ce guide, remplacez /dev/BOOT par /dev/hda1 ; /dev/ROOT par /dev/hda3 ; et /dev/SWAP par /dev/hda2. Le fichier modifié devrait ressembler à ceci :

[...]
#                                           
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/hda1               /boot           ext2            noauto,noatime  1 2
/dev/hda3               /               ext3            noatime         0 1
/dev/hda2               none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      audo            noauto,ro       0 0
#/dev/fd0               /mnt/floppy     auto            noauto          0 0
[...]

3.9 Démarrer le réseau au démarrage.

rc-update add net.eth0 default   
rc-update add hostname default

3.10 Installer les services système

emerge syslog-ng vixie-cron   
rc-update add syslog-ng default   
rc-update add vixie-cron default

3.11 Chargeur de démarrage

emerge bootloader

Cela installera le chargeur de démarrage par défaut pour votre architecture. Ce qui suit suppose que vous êtes sur x86 ou amd64 et que ce chargeur de démarrage est grub. Comme il s’agit d’une installation PC ultra-générique, nous allons tricher et simplement l’écrire. Si le reste de ce guide correspond à votre système, cela devrait aussi ; sinon, référez-vous au Manuel Gentoo, chapitre 10.

echo -e "default 0\ntimeout 5\n\ntitle=GentooLinux\nroot (hd0,0)" > /boot/grub/grub.conf   
echo "kernel `ls /boot/kernel*` root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev" >> /boot/grub/grub.conf   
echo "initrd `ls /boot/initramfs*`" >> /boot/grub/grub.conf   
grep --invert-match rootfs /proc/mounts > /etc/mtab   
grub-install --no-floppy /dev/hda

3.12 Conclusion et redémarrage

rc-update add sshd default   
passwd

Et donnez un mot de passe root. De cette façon, nous pourrons nous connecter par la suite sans avoir à aller à la console. En supposant que tout a fonctionné.

Sortez du chroot et redémarrez.

exit   
cd   
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo   
reboot

Bien sûr, vous devrez peut-être retirer le CD du lecteur. Cela dépendra de votre ordre de démarrage ; mais vous pourriez aussi bien vous en débarrasser ; il n’est plus nécessaire.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.