Gentoo est une distribution Linux particulièrement intéressante pour qui souhaite optimiser au maximum son installation par rapport à sa machine. En effet, l’ensemble du système doit être compilé « presque » manuellement. Je dis « presque » car cela reste assez simple dès lors que l’on suit un processus d’installation relativement standard, même si ça peut faire un peu peur au premier abord… Une fois le système proprement dit installé, le téléchargement, la compilation et l’installation se font très simplement grâce à l’outil de gestion de logiciels utilisé par Gentoo. Cela simplifie les choses et permet de rapidement comprendre le mode de fonctionnement de la distribution.

Gentoo 10.1
Dans cet article nous allons voir comment installer Gentoo en utilisant Microsoft Virtual PC 2007 (sous Windows XP dans mon cas, mais il existe une version plus récente sous Windows 7). De cette manière vous pourrez rapidement déployer des machines virtuelles Linux sur votre réseau, par exemple pour servir de machines de test pour l’équipe de développement.
En premier lieu il faut télécharger Microsoft Virtual PC 2007 en version Windows XP ou Windows 7 puis l’installer. L’installation elle-même se passe de commentaires. Attention, pendant l’installation votre connexion réseau sera coupée un bref instant afin d’installer un pilote permettant aux machines virtuelles de se connecter à Internet.
Téléchargez ensuite install-x86-minimal-yyyymmjj.iso en choisissant bien sûr le fichier le plus récent. Dans mon cas le fichier pesait 104 Mo.
Lancez ensuite Virtual PC 2007 et cliquez sur Nouveau puis Suivant. Sélectionnez ensuite Créer un ordinateur virtuel puis cliquez sur Suivant. Cliquez sur Parcourir et donnez un nom au fichier qui contiendra les paramètres de votre installation virtuelle, par exemple C:\Gentoo.vmc. Cliquez alors sur Enregistrer puis sur Suivant.
Choisissez Autre comme Système d’exploitation puis cliquer sur Suivant. Ne vous en faites pas, les paramètres de taille mémoire et de disque virtuel serons modifiables dans les étapes suivantes.

Choix du système d'exploitation
Choisissez ensuite une taille de RAM qui sera réservée à votre machine virtuelle. Le défaut est à 128 Mo mais j’ai préféré lui attribuer 256 Mo. Ce réglage est de toute manière modifiable facilement après installation.

Choix de la quantité de RAM attribuée à la machine virtuelle
Cliquez ensuite sur Suivant et choisissez Un nouveau disque dur virtuel, puis cliquez de nouveau sur Suivant. Indiquez alors un emplacement où stocker le fichier qui servira de disque dur virtuel à votre machine Linux, par exemple C:\GentooDV.vhd. Il vous reste ensuite à décider de la taille de ce disque virtuel. Cette taille dépendra bien sûr de l’utilisation que vous souhaitez faire de votre machine virtuelle. Si vous pensez installer une interface graphique, une suite bureautique, un navigateur Internet et quelques jeux, il vous faudra évidemment plus d’espace que si vous souhaitez installer un Linux intégralement en ligne de commande à utiliser pour du développement. Dans mon cas j’ai choisi de créer un disque de 5 Go.

Choix de la taille du disque virtuel
Cliquez ensuite sur Suivant et sur Terminer pour lancer la création de la machine virtuelle.
Dans la Console Virtual PC vous pouvez à présent voir une entrée Gentoo. Cliquez sur Paramètres pour afficher l’ensemble des options liées à cette machine virtuelle. Rendez-vous dans la partie Réseau et vérifiez bien que votre carte réseau est indiquée dans le menu déroulant Carte 1 puis cliquez sur OK.
Cliquez sur Démarrer pour commencer l’installation de Gentoo puis rendez-vous dans le menu CD de Virtual PC et cliquez sur Capturer l’image ISO… Sélectionnez l’ISO de Gentoo que vous avez téléchargé et cliquez sur Ouvrir. Rendez-vous enfin dans le menu Action et cliquez sur Réinitialiser pour rebooter votre machine virtuelle qui devrait alors démarrer sur l’image ISO de Gentoo. N’oubliez pas que pour faire sortir le curseur de la fenêtre Virtual PC vous devez appuyer sur la touche Alt Gr.
Si durant l’installation une boîte de dialogue vous invitant à installer les Compléments pour ordinateurs virtuels apparaît, cochez la case Ne plus afficher ce message puis OK.
Vous pouvez appuyer sur Entrée pour gagner quelques secondes ou laisser Gentoo démarrer automatiquement. Vous verrez alors les informations de boot défiler sur votre écran jusqu’à ce que vous atteignez l’étape de sélection du type de clavier. Taper 16 puis Entrée pour sélectionner un clavier français.
Une fois le boot terminé vous arrivez à une invite de commande livecd ~ #. C’est là que les chose sérieuses commencent !
Configuration du réseau
La première chose à faire est de vérifier si le réseau fonctionne. Pour cela tapez juste un ping google.com à l’invite de commande. Si votre réseau dispose d’un serveur DHCP cela devrait fonctionner. Faites un Ctrl+C pour quitter le ping.
Si cela ne fonctionne pas entrez la commande suivante qui lancera une interface de configuration du réseau :
net-setup eth0
Sélectionnez Yes puis appuyez sur Entrée. Choisissez ensuite My network is wireless si vous voulez que votre machine virtuelle se connecte au réseau grâce à une carte WiFi ou My network is wired si vous utilisez un réseau filaire et appuyez ensuite sur Entrée. Si votre réseau dispose d’un serveur DHCP, choisissez Use DHCP to auto-detect my network settings, si vous préférez choisir vous-même les différents paramètres sélectionnez Specify an IP address manually, puis appuyez sur Entrée. Je vais ici supposer que vous allez utiliser cette dernière option.
Indiquez l’adresse IP que vous souhaitez utiliser pour votre Gentoo, par exemple 192.168.1.1, appuyez sur Entrée, entrez 192.168.1.255 comme adresse de Broadcast (à adapter en fonction du sous-réseau que vous utilisez), appuyez de nouveau sur Entrée et entrez 255.255.255.0 comme masque de sous-réseau. Appuyez sur Entrée et indiquez l’adresse de votre routeur pour pouvoir accéder à Internet. Appuyez sur Entrée et indiquez l’adresse de votre serveur DNS (vous pouvez utiliser OpenDNS si vous n’êtes pas sur un réseau d’entreprise). Appuyez de nouveau sur Entrée puis sur OK pour sauter la configuration du suffixe de recherche DNS et terminer la configuration réseau.
Votre connexion est à présent configurée et vous pouvez vérifier sa configuration en tapant ifconfig eth0 à l’invite de commande.
Création et formatage des partitions
S’il y a bien une chose qui reste en mémoire lors de l’installation d’une distribution Linux c’est bien la création des différentes partitions. Au minimum il faudra créer une partition de swap et une partition Linux. C’est ce que nous allons faire ici mais rien ne vous empêche de choisir de créer une partition /boot, une /home, etc.
Pour commencer il faut repérer quel disque vous allez formater : selon toute probabilité il s’agit du disque /dev/hda. Pour le vérifier, entrez la commande suivante :
fdisk -l /dev/hda
Vous devriez alors voir quelque chose se rapprochant du résultat suivant :
Disk /dev/hda: 5242 MB, 5242503168 bytes
16 heads, 63 sectors/track, 10158 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0x00000000Disk /dev/hda doesn’t contain a valid partition table
On reconnaît ici le disque de 5 Go que nous avons créé pour la machine virtuelle. Ne vous en faites pas, il n’y a pas de risque de formater par erreur votre propre disque dur, il faut bien garder en tête que la machine virtuelle n’a pour le moment accès qu’à ses propres ressources.
Vous pouvez également essayer cette commande :
fdisk -l /dev/hdc
Vous obtiendrez alors le résultat suivant :
Note: sector size is 2048 (not 512)
Disk /dev/hdc: 109 MB, 109531136 bytes
255 heads, 63 sectors/track, 3 cylinders
Units = cylinders of 16065 * 2048 = 32901120 bytes
Disk identifier: 0x00000000Disk /dev/hdc doesn’t contain a valid partition table
On reconnait ici le fichier ISO de Gentoo.
Passons à présent au formatage du disque hda. Nous allons d’abord créer une partition de données de 4.5 Go puis une partition de swap de 512 Mo. La règle généralement suivie est de créer une partition de swap deux fois plus grande que la RAM de la machine (ici 256 Mo).
A l’invite de commande, tapez fdisk /dev/hda. Tapez ensuite n pour créer une nouvelle partition, p pour choisir une partition primaire et 1 comme numéro de partition. Entrez ensuite 1 comme First cylinder, +4500 MB comme Last cylinder puis appuyez sur Entrée. Tapez ensuite a puis 1 pour rendre la partition bootable.
Pour créer la partition de swap, tapez n, p, 2 et appuyez sur Entrée deux fois pour utiliser les valeurs par défaut pour les cylindres : la partie non utilisée du disque sera alors réservée. Tapez ensuite t, 2, 82 pour changer le type de la partition 2 en partition de swap.
Tapez ensuite p, la liste des partitions s’affichera alors :
Device Boot Start End Blocks Id System
/dev/hda1 * 1 8700 4394848+ 83 Linux
/dev/hda2 8721 10158 724752 82 Linux swap / Solaris
Il faut enfin enregistrer cette table de partitions, pour cela tapez w.
Reste à présent à formater les partitions que nous venons de créer. Pour cela tapez les commandes suivantes :
mke2fs -j /dev/hda1 mkswap /dev/hda2 && swapon /dev/hda2
Ces commandes ont pour effet de formater la partition hda1 en ext2 et d’activer la partition de swap.
Il n’y a plus qu’à monter la partition de données et à s’y placer pour la suite des festivités :
mount /dev/hda1 /mnt/gentoo cd /mnt/gentoo
Le disque est à présent partitionné, formaté et prêt à être utilisé.
Téléchargement des fichiers d’installation
Jusqu’à présent nous n’avons fait que booter sur un Live CD minimaliste et préparer le disque, il nous faut à présent télécharger les fichiers d’installation. Gentoo propose un environnement de base précompilé appelé stage3 qu’il nous faut télécharger. Pour cela tapez la commande suivante qui choisira un miroir automatiquement :
wget ftp://distfiles.gentoo.org/pub/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2
Dans mon cas le fichier faisait 180 Mo.
Une fois le téléchargement terminé dans /mnt/gentoo, lancez la commande suivante pour décompresser le fichier et ainsi créer l’arborescence et le système de base de votre installation Gentoo :
tar xjpf stage3-i686-20091110.tar.bz2
Cela peut prendre un peu de temps. Une fois la décompression terminée, vérifiez que vous obtenez bien une arborescence Linux classique (/bin, /boot, /dev, /etc…) en faisant un ls. Si tout va bien vous pouvez alors supprimer le fichier stage3 :
rm stage3-i686-20091110.tar.bz2
Gentoo utilise un gestionnaire de logiciels nommé Portage qu’il nous faut également télécharger. Entrez donc les commandes suivantes :
cd /mnt/gentoo/usr wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2
Une fois le téléchargement terminé entrez la commande suivante pour décompresser et installer Portage :
tar xjf portage-latest.tar.bz2
Vous pouvez ensuite supprimer le fichier de Portage :
rm portage-latest.tar.bz2
Changement de racine
Notre système est à présent pratiquement prêt à être utilisé, bien qu’étant très basique. La dernière étape avant de passer à la configuration proprement dite consiste à basculer du système du Live CD vers le système que nous venons d’installer. Pour cela exécutez les commandes suivantes :
mount -t proc proc /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev cp -L /etc/resolv.conf /mnt/gentoo/etc chroot /mnt/gentoo /bin/bash env-update && source /etc/profile
Configuration de quelques paramètres
Notre système est installé, il nous faut maintenant nous occuper de quelques détails de configuration. Nous allons d’abord régler notre fuseau horaire. Pour cela il va vous falloir trouver votre fuseau horaire au moyen de la commande suivante :
ls /usr/share/zoneinfo
Vous pouvez ensuite trouver votre ville ou la ville la plus proche en faisant une série de ls sur les répertoires, par exemple :
ls /usr/share/zoneinfo/Europe
nous permet de voir que Paris est située dans ce répertoire. Pour appliquer le fuseau horaire il faut entrer la commande :
cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
Vous pouvez ensuite vérifier la date avec la commande date. Vous pouvez régler l’heure manuellement au moyen de la commande suivante au format MMJJhhmmYYYY :
date 111217592009
Pour attribuer un nom à votre machine, par exemple lindev.domaine.local, exécutez les commandes suivantes :
cd /etc echo "127.0.0.1 lindev.domaine.local lindev localhost" > hosts sed -i -e 's/HOSTNAME.*/HOSTNAME="lindev"/' conf.d/hostname hostname lindev
Compilation du noyau
Voilà un autre classique de Linux ! Rassurez-vous c’est très simple avec les outils intégrés à Gentoo. Une simple commande vérifiera les dépendances et téléchargera les fichiers nécessaires à la compilation du noyau :
emerge gentoo-sources
Tapez ensuite les commandes suivantes pour configurer les options de votre noyau :
cd /usr/src/linux make menuconfig
Vous pouvez vous promener un peu dans les différentes options pour découvrir la richesse des possibilités offertes par le noyau Linux. Dans le doute ne touchez à rien, à part dans la section Device Drivers > Network Device SupportEthernet (10 or 100Mbit) > où je vous recommande de cocher « Tulip » family network device support. Entrez ensuite dans cette section et cochez DECchip Tulip (dc2114x) PCI support de manière à ce qu’un M apparaisse. Revenez à la racine de Device Drivers, puis allez dans Graphics support > Support for frame buffer devices et cochez (avec une étoile) VESA VGA graphics support. Cette option permettra plus tard de modifier la résolution de la console. Sélectionnez Exit jusqu’à arriver au dialogue de sortie puis Yes pour enregistrer la configuration. Vous pouvez à présent terminer la compilation du noyau :
make -j2 make modules_install cp arch/i386/boot/bzImage /boot/kernel
Edition de la table de partitions
Il faut à présent éditer la table de partitions de notre installation Gentoo pour lui indiquer où trouver la partition de données et celle de swap :
cd /etc nano -w fstab
Editez ensuite les lignes décrivant les partitions de cette manière :
/dev/sda1 / ext2 noatime 0 1
/dev/sda2 none swap sw 0 0
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
Appuyez ensuite sur Ctrl+X, Y, puis Entrée pour quitter et enregistrer. Notez bien qu’il faut entrer sda1 et sda2 au lieu de hda1 et hda2.
Configurations diverses et variées
Nous allons à présent configurer le réseau de notre Gentoo :
cd conf.d echo 'config_eth0=( "192.168.1.1 netmask 255.255.255.0" )' >> net echo 'routes_eth0=( "default via 192.168.1.253" )' >> net rc-update add net.eth0 default
Pensez à remplacer l’IP en première ligne par l’adresse IP que vous souhaitez attribuer à votre machine virtuelle, la deuxième ligne étant la passerelle à utiliser pour se connecter à Internet. Une fois connecté à Internet vous pouvez modifier cette ligne pour utiliser un serveur DHCP (n’oubliez pas d’installer un client DHCP grâce à la commande emerge dhcpcd) :
echo 'config_eth0=( "dhcp" )' >> net
Attribuez maintenant un mot de passe à l’utilisateur root en tapant la commande passwd.
Nous avions édité le fuseau horaire du Live CD au début de cette installation, il faut faire de même avec notre nouveau Gentoo :
nano -w /etc/conf.d/clock
et entrez TIMEZONE= »Europe/Paris » à la place de #TIMEZONE= »Factory » (pensez à retirer le #).
Profitons-en également pour modifier le clavier par défaut :
nano - w /etc/conf.d/keymaps
et remplacez KEYMAP= »us » par KEYMAP= »fr ». Vous pouvez voir la liste des claviers disponibles en faisant un ls /usr/share/keymaps/i386.
On va également installer un système de logs et de planification et les ajouter aux programmes se lançant au démarrage :
emerge syslog-ng vixie-cron rc-update add syslog-ng default rc-update add vixie-cron default
Installation du Bootloader
Encore une opération classique des installations Linux. LILO était le bootloader par défaut il y a quelques années, nous allons plutôt installer grub :
emerge grub nano -w /boot/grub/grub.conf
Modifiez les lignes présentes par défaut par les suivantes :
default 0
timeout 10
splashimage=(hd0,0)/boot/grub/spash.xpm.gztitle Gentoo Virtuel
root (hd0,0)
kernel /boot/kernel root=/dev/sda1 video=vesafb:ywrap,mtrr vga=0x317
Attention au /dev/sda1, grub repère les disques de manière différente de fdisk. Si vous rentrez /dev/hda1 vous obtiendrez une erreur au démarrage et vous ne pourrez pas charger Gentoo. Notez également les options video permettant au prochain boot de démarrer avec une console en 1024×768.
Et maintenant, rebootez ! Si tout se passe bien vous disposez maintenant d’une installation virtuelle de Gentoo parfaitement fonctionnelle.
Quelques configurations supplémentaires
Nous allons indiquer au système quels miroirs utiliser automatiquement :
emerge mirrorselect mirrorselect -i -o >> /etc/make.conf
Sélectionnez ensuite les différents miroirs de téléchargement qui vous intéressent puis sélectionnez OK. Entre ensuite la commande suivante :
mirrorselect -i -r -o >> /etc/make.conf
Sélectionnez les miroirs de téléchargement RSYNC qui vous intéressent puis sélectionnez OK.
Entrez ensuite la commande suivante pour indiquer au compilateur le nombre de processeurs/cores et ajoutez-y 1 (par exemple pour un Core 2 Duo, entrez 3) :
echo 'MAKEOPTS="-j3"' >> /etc/make.conf
Editez ensuite le fichier /etc/locale.gen pour indiquer au compilateur quelles locales utiliser :
cd /etc nano -w /locale.gen
Par exemple vous pouvez décommenter en_US ISO-8859-1 et fr_FR ISO-8859-1. Exécuter ensuite la commande suivante pour regénérer ces locales :
locale-gen
Editez ensuite le fichier make.conf pour ajouter les optimisations spécifiques à votre plateforme :
nano -w make.conf
Vous pouvez trouver les informations relatives à vos optimisations sur cette page. Par exemple pour un Core 2 Duo en 32 bits :
CHOST= »i686-pc-linux-gnu »
CFLAGS= »-march=core2 -O2 -pipe -fomit-frame-pointer »
CXXFLAGS= »${CFLAGS} »
Ajoutez également la ligne suivante, puis sauvegardez le fichier :
FEATURES= »ccache »
et téléchargez/compilez/installez ccache :
emerge ccache
Nous allons nous arrêter à ce stade, à vous d’installer et de configurer vos applications à présent !