Gentoo - Installation

Installer Gentoo facilement (OpenRC)

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction





Gentoo est une distribution GNU/Linux sympathique, conçue pour être optimisée pour le matériel de l'utilisateur. Tous les programmes sont donc compilés à partir du code source.

Gentoo utilise le gestionnaire de paquets Portage.

Calculate Linux dont je parle beaucoup sur se site est basé sur Gentoo, mais est plus "facile" d'emploi :intello:





Avant installation





Obtenir le média d'installation





Dans un premier temps, il est nécessaire de télécharger le CD d'installation. Prendre l'iso disponible ici :









Prérequis





Vérifier que la machine dispose du réseau, surtout d'Internet.

Disposer d'une deuxième machine avec un client SSH est un plus (le copier coller sera plus facile)



Préparer l'installation





Insérer le CD dans la machine :happy1:

Booter sur le CD.

Sur l'invite de commande boot: valider en appuyant sur Entrée.



Le Live CD charge les modules et démarre. Le chargement est terminé lorsque le prompt livecd ~ # s'affiche.



On met le clavier en français, ce sera plus facile :



Code BASH :
 loadkeys fr




On vérifie que nous disposons bien d'une IP :



Code BASH :
ifconfig




Si besoin, demander une IP à notre serveur DHCP :



Code BASH :
dhcpcd




On teste la connexion à internet (Ctrl+C pour annuler) :



Code BASH :
ping google.fr




Pour être sur de ne pas être embêté, je mets les DNS de Google :

Code BASH :
echo "namserver 8.8.8.8" > /etc/resolv.conf






Configurer l'accès distant ssh







Sur la machine locale





On démarre le service ssh :



Code BASH :
/etc/init.d/sshd start




Et on initialise le mot de passe root :



Code BASH :
passwd






Sur la machine distante







Code BASH :
ssh root@Ip_machine




On va se rendre dans le répertoire où nous installerons Gentoo en chroot :



Code BASH :
cd /mnt/gentoo




A partir d'ici, je ne saisierai les commandes que depuis la machine distante !





Partitionnement





Il existe plusieurs manières de partitionner son disque, avec des outils différents.

Moi, je vais utiliser cfdisk, il est plus "facile" à utiliser que fdisk.



Code BASH :
cfdisk




Partitionner à sa guise, dans ce tutoriel, je vais faire :

  • une partition racine de 20Go
  • une partition /home de 10Go
  • une partition SWAP de 2Go





Code BASH :
                                  cfdisk (util-linux 2.22.2)
 
                                     Disk Drive: /dev/sda
                               Size: 32212254720 bytes, 32.2 GB
                     Heads: 255   Sectors per Track: 63   Cylinders: 3916
 
    Name           Flags        Part Type    FS Type             [Label]          Size (MB)
 ---------------------------------------------------------------------------------------------
    sda1           Boot          Primary     Linux                                 20003.89    
    sda2                         Primary     Linux                                 10001.95
    sda3                         Primary     Linux swap / Solaris                   1998.75
                                 Pri/Log     Free Space                              207.70   *
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     [ Bootable ]  [  Delete  ]  [   Help   ]  [ Maximize ]  [  Print   ]  [   Quit   ]
     [   Type   ]  [  Units   ]  [  Write   ]
                                 Wrote partition table to disk
                         Toggle bootable flag of the current partition
 




Ce qui me donne avec la commande fdisk ce résultat au final :



Code BASH :
fdisk -l
 
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63    39070079    19535008+  83  Linux
/dev/sda2        39070080    58605119     9767520   83  Linux
/dev/sda3        58605120    62508914     1951897+  82  Linux swap / Solaris
 




On formate les partitions :



Code BASH :
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
 




On monte la partition racine dans /mnt/gentoo



Code BASH :
mount /dev/sda1 /mnt/gentoo




On créé les points de montage des autres partitions et on monte celles-ci dans leurs dossiers respectifs (exemple avec /home sur /dev/sda2)



Code BASH :
mkdir /mnt/gentoo/home
mount /dev/sda2 /mnt/gentoo/home




On en profite pour monter le SWAP :



Code BASH :
swapon /dev/sda3




Vérifier que la date est au format UTC (c'est à dire à l'heure de Londres).



Code BASH :
date
Thu Jul 25 08:29:50 UTC 2013




C'est OK dans mon cas.

Modifier si besoin la date et l'heure sur celle de Londres :



Code BASH :
date MMJJhhmmAAAA






Installer les fichiers d'installation de Gentoo







Stage 3 : Le système





Le site de Gentoo propose les liens vers les "stage 3" de chaque architecture. Prendre celle qui convient le mieux.



Code BASH :
cd /mnt/gentoo






32bits





Code BASH :
wget http://distfiles.gentoo.org/releases/x86/autobuilds/current-stage3/stage3-i686-*.tar.bz2


Remplacer dans l'URL l'étoile (*) par la date de construction de l'archive



64bits





Code BASH :
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3/stage3-amd64-*.tar.bz2


Remplacer dans l'URL l'étoile (*) par la date de construction de l'archive



Extraire ensuite l'archive :

Code BASH :
tar xjvfp stage3-*.tar.bz2




Il ne faut pas oublier le commutateur p qui permet de préserver les permissions !





Portage





Télécharger et extraire l'arbre de portage :

Code BASH :
wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2
tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr






Installer le système de base





Il faut bien comprendre que le système Gentoo que nous installons se trouve dans /mnt/gentoo du live CD.



Dans un premier temps, on se copie le fichier de résolution de noms DNS :



Code BASH :
cp -L /etc/resolv.conf /mnt/gentoo/etc/




On monte ensuite les dossiers proc et dev dans /mnt/gentoo



Code BASH :
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev 




On change l'environement du live CD pour basculer vers l'environnement final.

On chroot le système.



Code BASH :
chroot /mnt/gentoo /bin/bash




On met à jour des variables d'environnement :



Code BASH :
env-update
source /etc/profile




Pour ne pas s’emmêler les pinceaux, on peut ajouter un repère à notre prompt pour bien distinguer que l'on est en chroot :



Code BASH :
export PS1="[chroot] $PS1"






Fichier make.conf





On édite le fichier make.conf pour lui ajouter quelques options supplémentaires :



Code BASH :
nano -w /etc/portage/make.conf




Code BASH :
MAKEOPTS="-j9" # 9 car j'ai 8 cœurs : nb cœurs+1
LINGUAS="fr" #Langue
VIDEO_CARDS="intel nvidia vesa virtualbox" #Cartes graphiques, choisir les cartes adéquats






Locales





Les locales, c'est la langue du système et son encodage. Configurer tout cela pour du français :



Code BASH :
 nano -w /etc/locale.gen




Mettre ceci pour du français compatible UTF-8

Code BASH :
fr_FR.UTF-8 UTF-8




On génère les locales :



Code BASH :
locale-gen




On configure la disposition du clavier :



Code BASH :
nano -w /etc/conf.d/keymaps




Modifier la ligne keymap ainsi pour disposer d'un clavier AZERTY :



Code BASH :
keymap="fr"






Configurer le fuseau horaire





Vu que nous sommes sur Paris en France, configurons ainsi le fuseau horaire :



Code BASH :
cp /usr/share/zoneinfo/Europe/Paris /etc/localtime




Vérifier que l'horloge est bien en UTC :



Code BASH :
nano -w /etc/conf.d/hwclock




Code BASH :
clock="UTC"






Configurer le kernel





Installer les sources du noyau et l'utilitaire genkernel :



Code BASH :
emerge -q gentoo-sources genkernel




A revoir, la config est un peu "bourrin"



On copie les fichiers de configuration qui ont été utilisés par le Live CD pour l'utiliser sur notre kernel :



64bits :

Code BASH :
zcat /proc/config.gz > /usr/share/genkernel/arch/x86_64/kernel-config




On configure puis compile notre kernel :

Code BASH :
genkernel all --menuconfig




Avec la fenêtre Linux/x86 x.x.x-gentoo Kernel Configuration configurer les options du kernel qui nous intéressent. Terminer par Exit.