site sans réclame
GNU/Linux  –  Cont@ct  –  S'abonner

Installation de Gentoo sur AMD64 par CD + Internet

L

'idée centrale de la distribution gentoo est de d'offrir un système configuré au plus près de la machine et des besoins de l'utilisateur. Par ailleurs, il n'existe pas d'upgrade de distribution: une fois le système installé, ce sont les upgrades des applications, du bureau et du noyau Linux qui le font évoluer.

Chaque application est compilée spécialement pour la machine, ce qui peut prendre quelques heures pour l'installation du système graphique KDE sur un Athlon à 2.6GHz. Mais [Ctrl]-[Alt]-[F2] permet d'ouvrir une seconde console, où links permet de surfer en mode texte.

C'est l'occasion d'avoir une pensée pour Louis Braille (1809-1852) qui mit au point dans son adolescence du système d'écriture pour non-voyants, et pour ceux-ci qui surfent dans le mode texte. Rendez-vous donc sur http://fr.wikipedia.org/wiki/Louis_Braille.

Les informations ci-dessous proviennent grandement du fichier d'aide www.gentoo.org/doc/fr/handbook/handbook-amd64.xml?full=1, à qui cette page rend hommage pour sa clarté et ses côtés pratiques. Même la présentation graphique s'en inspire, mais de façon plus propre du point de vue html/CSS en s'affranchissant des <span> et des <table> inutiles, remplacés par les classes de <p>, si pratiques.

Ce qui suit a néanmoins été totalement réécrit à partir de notes prises au fil de réinstallations, multiples pour des raisons d'une configuration particulière (utilisation d'un second disque, IDE/ATAPI, sur un système AMD64).

Ce genre d'installation a requis le téléchargement d'un Minimal CD avec une connexion de type ADSL/Ethernet.

1. Lancement du Minimal CD

1.1 Système de fichier
1.2 Récupérer les archives du système
1.3 Changement de perspective: chroot
1.4 Utilisateurs et mots de passe
1.5 Heure, clavier et locales
1.6 Montage des partitions selon fstab
1.7 Configuration du réseau
1.8 Compilation du noyau
1.9 Lanceur GRUB (mais pas LILO)
1.10 «Des fois ça marche pas»

2. Poursuite de l'installation

2.1 Portage

3. Environnements graphiques

3.1 KDE
3.2 Xfce

4. Suite?

1. Lancement du Minimal CD

boot: [enter] ou gentoo; [F2] et [F3] énoncent les différents paramétrages du lancement
Loading keymaps: 1 pour clavier azerty, 2 pour be, 16 pour le fr

Pour le moment, nous sommes sur un système placé en mémoire. Comme il va s'agir d'installer le système sur un disque, il faut préparer un disque dur, ou sur une clé USB si l'ordinateur permet ce gennre de boot. Celle-ci devrait comporter au moins 4 ou 8Go de mémoire libres, sans partition swap.

1.1 Système de fichiers

Formatage du disque (premier disque IDE/ATAPI en l'occurrence)

cfdisk /dev/hda

On réserve traditionnellement à la partition swap une fois et demie la quantité de mémoire RAM, ce qui permet à la mémoire de se décharger momentanément lors du traitement d'une grande masse de données. Il est courant qu'on réserve également quelques dizaines de Mo pour la partition /boot, qui contient le menu GRUB (lancement) et les différentes versions des noyaux Linux (3 à 4 Mo chacun). Il est fortement conseillé de prévoir une partition /home séparée du système de la racine /, cela permet une réinstallation complète du système sans toucher aux données. Cela est néanmoins déconseillé en cas de petit disque dur moins de 10Go.

S'il s'agit d'une première utilisation ou d'un reformatage de disque, il faut établir les partitions. cfdisk permet de créer les partitions décrite ci-dessus, en précisant leur type (préférer le type ext3 (83) à ext2 (82)). 5Go pour la partition racine / et le reste pour la partition /home.

S'il s'agit de l'utilisation d'un disque dont on désire garder une partie des données, il est possible de détruire certaines partitions et d'en reconstruire à partir de la place libérée. Mais auparavant, il faut être sûr de la localisation de la/des partition-s à garder. D'autre part, si la partition à garder se trouve au milieu du disque, il n'y a pas moyen de la déplacer.

Formatage et montage d'une partition swap

mkswap /dev/hda1
swapon /dev/hda1

mkswap formate (efface de façon définitive toutes les données) une partition swap si cela n'a pas été précisé dans cfdisk.
swapon ne sera plus à faire lorsque fstab aura été édité.

Formatage de partitions

mke2fs -j /dev/hda2
mke2fs -j /dev/hda3

mke2fs -j /dev/hda2 formate (efface de façon définitive toutes les données) une partition ext3 (sans -j pour ext2) si cela n'a pas été précisé dans cfdisk, à ne faire qu'une fois. fstab montera automatiquement ces partitions.

1.2 Récupérer les archives du système

Dans un premier temps, il s'agit de charger sur la partition de quoi construire un système

Montage de la future partition système

mount /dev/hda3 /mnt/gentoo
cd /mnt/gentoo

Avec le CD minimal, il faut importer deux archives, à une de ces adresses où sont stockées les données gentoo (miroirs). Une page www.gentoo.org contient une liste des sites miroirs où il sera possible de récupérer les archives stages/stage3-x86-2008.0.tar.bz2 (124Mo) et portage-latest.tar.bz2 (33Mo).

Affichage de la page des sites miroirs

links http://www.gentoo.org/main/en/mirrors.xml

links est un navigateur en mode texte, où la navigation est basée sur les flèches de déplacement:
flèches haut et bas pour passer d'un lien à l'autre
flèche droite ou [enter] pour charger une page
flèche gauche pour remonter à la page appelante
barre d'espace pour descendre la page d'un écran
[esc] affiche un système de menu
g permet la saisie d'une adresse URL
q pour quitter

Quel que soit le site choisi il faut récupérer:
releases/x86/2008.0/stages/stage3-x86-2008.0.tar.bz2
snapshots/portage-latest.tar.bz2

Sauvegarde des archives sur clé USB ou disque (facultatif)

mkdir /mnt/dummy
mount /dev/sda1 /mnt/dummy
mkdir /mnt/dummy/archives-G
cp *.bz2 /mnt/dummy/archives-G

dummy est un nom arbitraire qui doit permettre au système de s'y retrouver
archives-G est un nom arbitraire qui doit permettre à l'utilisateur de s'y retrouver

Selon le nombre de périphériques SCSI attachés au système, une clé USB peut se trouver en sdb1, sdc1...
ls -l /mnt/dummy devrait permettre de se repérer.

Récupération des archives préalablement sauvegardées sur une clé USB (facultatif)

mkdir /mnt/dummy
mount /dev/sda1 /mnt/dummy
cp /mnt/dummy/archives-G/*.bz2 .

Le point final est nécessaire: il représente le répertoire actuel

Décompresser les archives stage3* et portage-latest (dans cet ordre)

tar -xvjpf stage3-amd64-2008.0.tar.bz2
tar -xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

x extrait les fichiers contenus dans l'archive (".tar")
v mode verbeux, pas indispensable mais rassurant
j s'occupe de la (dé-)compression (".bz2")
p préserve les droits liés aux fichiers
f
C extrait dans le répertoire précisé

Choix d'un site miroir

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

Choix dans la liste proposée d'un site miroir, qui sera ajouté au fichier /mnt/gentoo/etc/make.conf. Attention: on sélectionne le site avec la barre espace, on confirme avec [enter].

1.3 Changement de perspective: le chroot

Rappelons-nous que nous sommes sur un disque virtuel, situé en mémoire. Une fois éteint, cette mémoire n'existe plus. Pour installer le système sur le disque, il faut changer de point de vue. Cela se fait avec chroot (change root).

Copier l'adresse de connexion sur le disque

cp -L /etc/resolv.conf /mnt/gentoo/etc/

Changement de racine de système

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

Il sera possible, en cas de nécessité, de retourner à l'ancienne racine par exit

1.4 Utilisateurs et mots de passe

Mot de passe pour le super-utilisateur

passwd

Un avertissement sera donné en cas de mauvais mot de passe (trop court) qui sera néanmoins accepté.

En cas d'oubli de ce mot de passe, il est impossible d'administrer le système.

Ajout d'un utilisateur

useradd toto -m -G audio,cdrom,lp
passwd toto

-m fabrique un répertoire personnel, en l'occurrence /home/toto pour l'utilisateur toto
-G inscrit l'utilisateur aux groupes audio, cdrom et lp (imprimantes)

userdel toto -r supprime l'utilisateur toto, ses inscriptions aux groupes et son répertoire personnel /home/toto

1.5 Heure, clavier et locales

Choix de "Bruxelles" comme heure locale

cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
nano -w /etc/conf.d/clock

Pour une heure locale, préciser CLOCK="local" et préciser TIMEZONE="Europe/Brussels" en décommentant la ligne (enlever le #)

Mettre le système à l'heure

date
date MMDDhhmmAAAA

Sans argument, date retourne la date et l'heure sous la forme Tue Jan 13 12:05:41 2009
Pour fixer la date et l'heure, indiquer en une chaîne sans espace:
  MM mois en deux chiffres
  DD jour en deux chiffres
  hh heure en deux chiffres
  mm minutes en deux chiffres
  AAAA année en quatre chiffres
soit 011312052009 pour la date ci-dessus
Il est pssible d'ajouter deux chiffres pour les secondes en fin de chaîne

Choix du clavier

nano -w /etc/conf.d/keymaps

KEYMAP="azerty" ou be-latin1, fr-latin9, fr-pc, fr...

Choisir et générer les locales

nano -w /etc/locale.gen
locale-gen

Dans le fichier locale.gen, il faut sélectionner (enlever le #) et modifier lesparamètres afin d'obtenir
fr_BE ISO-8859-1
fr_BE UTF-8
  ou
fr_FR UTF-8
fr_FR ISO-8859-1
fr représentant la langue, FR et BE les variantes régionales

1.6 Montage des partitions selon fstab

Édition du fichier des partitions

nano -w /etc/fstab

Exemple d'un fichier fstab convenant à la partition du disque IDE exposée au début

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>       <options>        <dump>  <pass>
proc            /proc           proc         defaults           0       0
/dev/hda1       none            swap         sw                 0       0
/dev/hda2       /boot           ext3         defaults           0       0
/dev/hda3       /               ext3         errors=remount-ro  0       1
/dev/hda4       /home           ext3         rw,user,noauto     0       0
/dev/hdc        /media/cdrom    udf,iso9660  user,noauto,ro     0       0
/dev/sda1       /media/usbkey   vfat         user,noauto        0       0

Lorsque qu'un point de montage est lié à un descripteur de périphérique dans fstab, le montage est plus simple:
mount /dev/sda1 ou mount /media/usbkey

En cas de disque SCSI, les dénominations hda1, hda2... sont remplacées par sda1, sda2... ; la clé USB deviendra sdb1.

Pour pouvoir monter la clé USB avec mount /media/usbkey, il faut créer cette partition: mkdir /media/usbkey

/dev/hdc est indicatif, cela dépend du genre du lecteur de CD/DVD, et où il se trouve.

1.7 Configuration du réseau

Nom de la machine

nano -w /etc/conf.d/hostname

Éditer le message d'accueil

nano -w /etc/issue

Si la machine n'est pas liée à un nom de domaine, il est possible d'enlever .\O de la chaîne "This is \n.\O (\s \m \r) \t"

Installation et configuration de la connexion

emerge baselayout
emerge dhcpcd
cd /etc/init.d
ln -s net.lo net.eth0     # normalement deja fait
nano -w /etc/conf.d/net
/etc/init.d/net.eth0 start

Pour un utilisateur standard, la configuration du fichier /etc/conf.d/net est, pour l'interface eth0:
config_eth0=( "dhcp" )
dhcp_eth0="nodns nontp nonis"

En attendant de relancer le système, dhcpcd eth0 devrait lancer la connexion.
Pour s'en assurer: ping -c 3 www.gentoo.org

Automatisation de la connexion au démarrage

rc-update add net.eth0 default

Si plusieurs cartes Ethernet sont présentes, le système installé peut reconnaître comme eth1 ce que le CD d'installation avait reconnu comme eth0.

1.8 Installation du système

La grande force de gentoo est l'installation des logiciels adapté à un profil qui tient compte de la machine et de l'utilisateur. Il faut alors paramétrer son profil

Connaître son profil

ls -l /etc/make.profile

lrwxrwxrwx 1 root root 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default/linux/amd64/2008.0

Si l'on décide de garder la possibilité de faire tourner des application 32bits, il ne faut pas activer le profil no-multilib.

Éditer la variable USE

nano -w /etc/make.conf

USE="gtk opengl qt4 kde dvd alsa cdr X"

Installation des sources du noyau et configuration de la compilation

emerge gentoo-sources
cd /usr/src/linux
make menuconfig

Partie délicate de l'installation. Beaucoup d'options sont déjà prévues.
[ ] permet l'inclusion d'une fonctionnalité dans le noyau ([*]) à l'aide de la barre espace
< > permet l'inclusion d'une fonctionnalité sous forme de module <M> ou son inclusion <*> à l'aide de la barre espace

Processor type and feature --»
  Processor family: à préciser

En cas de chargement du système à partir d'un disque IDE/ATA (à inclure <*>, pas <M>):
Device drivers --»
  ATA/ATAPI/MFM/RLL support --»
    Enhanced IDE/MFMFLL disk/cdrom/tape/floppy support
    Include IDE/ATA-2 DISK support
    IDE Taskfile AccessDevice drivers
    Legacy /proc/ide support
    generic/default IDE chipset support

Lancement de la compilation du noyau

make && make modules_install

1.9 GRUB

Il ne sera question que de GRUB, le lanceur LILO étant explicitement déconseillé pour les systèmes amd64.

Copie de l'image compilée du noyau dans le répertoire boot

cp /usr/src/linux/arch/x86/boot/bzImage /boot

Si le répertoire /boot dispose d'une partition propre, il faut la monter au préalable: mount /dev/hda2 /boot

Installation et paramétrage GRUB, installation du MBR

emerge grub
nano -w /boot/grub/grub.conf
grub

GRUB appelle (hd0,0) la première partition du premier disque, que celui-ci soit IDE/ATAPI (hda, hdb...) ou SCSI (sda, sdb...).

Lorsque des disques ATAPI et SCSI cohabitent, la numérotation dépend de l'ordre avec lequel le BIOS répertorie les disques.

Exemple de configuration de /boot/grub/grub.conf

# l'image par defaut: 0 est la premiere
default   0

# nombre de secondes avant le lancement automatique
timeout   5

# fond/couleur pour l'affichage du texte et de la selection
color cyan/blue white/blue

# mot de passe crypte, A NE PAS MODIFIER
password --md5 $abracadabra

# le choix. Ici, la partition swap est la premiere, celle contenant le boot est la deuxieme
# mais la racine du système est en /dev/hda3

title		Gentoo Athlon 2.6.27r7
root		(hd0,1)
kernel		/boot/gentoo-2.7.27r7 root=/dev/hda3 ro
savedefault

title		Rescue - Gentoo Athlon 2.6.27r7
root		(hd0,1)
kernel		/boot/gentoo-2.7.27r7 root=/dev/hda3 ro single
savedefault

# exemple pour Windows

# title		Windows 95/98/NT/2000
# root		(hd0,0)
# makeactive
# chainloader	+1

1.10 «Des fois ça marche, des fois ça marche pas» (Garcimore)

Si la relance sans le CD d'installation n'aboutit pas, il ne faut heureusement pas tout recommencer: les partitions, les fichiers de configuration (date, clavier...) n'ont pas changé. La première chose à faire est de se rebrancher sur le disque à partir du Minimal CD. Si le système est installé sur la troisième partition du premier disque IDE/ATAPI:

Se rebrancher sur le système installé

mount /dev/hda3 /mnt/gentoo
cd /mnt/gentoo
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

Est-ce que le fichier /usr/src/linux/arch/x86/boot/bzImage a bien été copié en /boot?
En cas de kernel panic, est-ce que le noyau a bien été compilé?

En cas de réinstallation du noyau dans /boot:
il ne faut pas relancer grub si /boot est bien indiqué sur la bonne partition
il ne faut rien changer sur /boot/grub/grub.conf si le nom du noyau ne change pas

2. Poursuite de l'installation

2.1 Portage

Recherche du nom précis d'une application

emerge -s xfce

-s cherche à partir d'une chaîne insuffisante
on constate ici que le paquet s'appelle xfce4 , qu'il existe également xfce4-dict...

Mise à jour de la base de données des applications (ne pas exagérer)

emerge --sync

Il est possible que le système conseille l'installation d'une nouvelle version de portage: emerge portage

Recompilation des paquets concernés par les changements

emerge --update --deep --newuse world

Mise à jour du système

emerge -uDpv world

u (--update) mise à jour du système
D (--deep) vérification profonde du système
p (--pretend) ne produit pas l'installation
v (--verbose) explications verbeuses

2.2 gentoolkit

Installation des outils gentoo

emerge gentoolkit

Paquet contenant les outils suivants:
equery configuration d'un paquet

Configuration d'une application

equery l paquet

3. Interface graphique

3.1 KDE

A le système graphique KDE

emerge kde

Attention: de 150 à 200 paquets, 5 à 6 heures

Franciser KDE

LINGUAS="fr" emerge kde-i18n

Il est évidemment possible de choisir d'autres locales:

Tenter une configuration de xorg

xorgconfig

3.2 Xfce

Système graphique plus léger, moins de deux heures

Installation de xfce

emerge xfce4

4. Suite?

Habitué à Debian depuis la version 3.0 Woody, je n'ai aucune raison de le quitter. J'admire l'idée de distribution progressive et j'y reviendrai peut-être en cas de nécessité d'optimiser une machine.