Installer Gentoo facilement (OpenRC)
Table des matières
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
Dans un premier temps, il est nécessaire de télécharger le CD d'installation. Prendre l'iso disponible ici :
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)
Insérer le CD dans la machine
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 :
On vérifie que nous disposons bien d'une IP :
Si besoin, demander une IP à notre serveur DHCP :
On teste la connexion à internet (Ctrl+C pour annuler) :
On démarre le service ssh :
Et on initialise le mot de passe root :
On va se rendre dans le répertoire où nous installerons Gentoo en chroot :
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.
Partitionner à sa guise, dans ce tutoriel, je vais faire :
Ce qui me donne avec la commande fdisk ce résultat au final :
On formate les partitions :
On monte la partition racine dans /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)
On en profite pour monter le SWAP :
Vérifier que la date est au format UTC (c'est à dire à l'heure de Londres).
C'est OK dans mon cas.
Modifier si besoin la date et l'heure sur celle de Londres :
Le site de Gentoo propose les liens vers les "stage 3" de chaque architecture. Prendre celle qui convient le mieux.
Extraire ensuite l'archive :
Télécharger et extraire l'arbre de portage :
Dans un premier temps, on se copie le fichier de résolution de noms DNS :
On monte ensuite les dossiers proc et dev dans /mnt/gentoo
On change l'environement du live CD pour basculer vers l'environnement final.
On chroot le système.
On met à jour des variables d'environnement :
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 :
On édite le fichier make.conf pour lui ajouter quelques options supplémentaires :
Les locales, c'est la langue du système et son encodage. Configurer tout cela pour du français :
Mettre ceci pour du français compatible UTF-8
On génère les locales :
On configure la disposition du clavier :
Modifier la ligne keymap ainsi pour disposer d'un clavier AZERTY :
Vu que nous sommes sur Paris en France, configurons ainsi le fuseau horaire :
Vérifier que l'horloge est bien en UTC :
Installer les sources du noyau et l'utilitaire genkernel :
On copie les fichiers de configuration qui ont été utilisés par le Live CD pour l'utiliser sur notre kernel :
64bits :
On configure puis compile notre kernel :
Avec la fenêtre Linux/x86 x.x.x-gentoo Kernel Configuration configurer les options du kernel qui nous intéressent. Terminer par Exit.
On vérifie que les fichiers nécessaire au boot sont bien la :
Le résultat peut varier suivant l'architecture et la version du noyau.
Editer le fichier fstab pour renseigner les partitions et leur point de montage :
Exemple :
Configurer le nom d'hôte de la machine. Éditer le fichier hostname :
On peut aussi configurer à notre guise le fichier hosts :
On installe rsyslog et logrotate :
On démarre le service au boot :
On installe cron :
On démarre le service au boot :
Si par la suite on veut du réseau, c'est mieux d'avoir un client DHCP :
N'oublions pas de lancer le service SSH au boot, s'il s'agit d'un serveur :
Installons quelques outils pratique :
N'oublions pas le plus important, le mot de passe root !
La est le plus délicat, il ne faut pas se tromper.
D'abord, on installe le logiciel GRUB :
Maintenant, on édite le fichier de config de GRUB :
Je rappelle que /dev/sda1 est ma partition /, qui contient les fichiers du boot.
Voila mon fichier grub.conf avec le partitionnement utilisé depuis le début (Adapter avec les noms donnés par ls /boot) :
On installe grub dans le secteur boot :
On sort du chroot :
On supprime les fichiers précédemment téléchargés :
On revient à la racine du live CD et on démonte tout ce dont on a plus besoin :
On reboot, on enlève le Live CD et on croise les doigts
Voila Gentoo est installée
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
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 :
- Gentoo 32bits : http://distfiles.gentoo.org/releases/x86/autobuilds/current-stage3/
- Gentoo 64bits : http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3/
- Gentoo autres architectures : Se rendre directement sur la page officielle de Gentoo et choisir la bonne ISO
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
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
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
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
64bits
Code BASH :
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3/stage3-amd64-*.tar.bz2
Extraire ensuite l'archive :
Code BASH :
tar xjvfp stage3-*.tar.bz2
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
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
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.
On vérifie que les fichiers nécessaire au boot sont bien la :
Code BASH :
ls boot
System.map-genkernel-x86_64-3.8.13-gentoo
kernel-genkernel-x86_64-3.8.13-gentoo
initramfs-genkernel-x86_64-3.8.13-gentoo
Le résultat peut varier suivant l'architecture et la version du noyau.
Fichier fstab
Editer le fichier fstab pour renseigner les partitions et leur point de montage :
Code BASH :
nano -w /etc/fstab
Exemple :
Code BASH :
#/dev/BOOT /boot ext2 defaults,noatime 1 2 /dev/sda1 / ext4 defaults,noatime 0 1 /dev/sda2 /home ext4 defaults,noatime 0 1 /dev/sda3 none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,ro 0 0 /dev/fd0 /mnt/floppy auto noauto 0 0
Définir le nom d'hôte
Configurer le nom d'hôte de la machine. Éditer le fichier hostname :
Code BASH :
nano -w /etc/conf.d/hostname
On peut aussi configurer à notre guise le fichier hosts :
Code BASH :
nano -w /etc/hosts
Installer les outils
Logs et Journalisation
On installe rsyslog et logrotate :
Code BASH :
emerge -q rsyslog logrotate
On démarre le service au boot :
Code BASH :
rc-update add rsyslog default
Planificateur de tâches
On installe cron :
Code BASH :
emerge -q vixie-cron
On démarre le service au boot :
Code BASH :
rc-update add vixie-cron default
Client DHCP
Si par la suite on veut du réseau, c'est mieux d'avoir un client DHCP :
Code BASH :
emerge -q dhcpcd
Service SSH
N'oublions pas de lancer le service SSH au boot, s'il s'agit d'un serveur :
Code BASH :
rc-update add sshd default
Quelques outils
Installons quelques outils pratique :
Code BASH :
emerge -q gentoolkit portage-utils iproute2 htop
Mot de passe root
N'oublions pas le plus important, le mot de passe root !
Code BASH :
passwd
Installer le chargeur d'amorçage
La est le plus délicat, il ne faut pas se tromper.
D'abord, on installe le logiciel GRUB :
Code BASH :
emerge -q grub
Maintenant, on édite le fichier de config de GRUB :
Code BASH :
nano -w /boot/grub/grub.conf
Je rappelle que /dev/sda1 est ma partition /, qui contient les fichiers du boot.
Voila mon fichier grub.conf avec le partitionnement utilisé depuis le début (Adapter avec les noms donnés par ls /boot) :
Code BASH :
default 0 timeout 30 #splashimage=(hd0,0)/boot/grub/splash.xpm.gz title Gentoo Linux 3.8.13 root (hd0,0) kernel /boot/kernel-genkernel-x86_64-3.8.13-gentoo root=/dev/sda1 initrd /boot/initramfs-genkernel-x86_64-3.8.13-gentoo
On installe grub dans le secteur boot :
Code BASH :
grub (Lance la console de grub) grub> root (hd0,0) (lieu de /boot ou / si pas de /boot) grub> setup (hd0) (Écrit GRUB dans le MBR.) grub> quit (Quitte la console GRUB.)
Finalisation de l'installation du système
On sort du chroot :
Code BASH :
exit
On supprime les fichiers précédemment téléchargés :
Code BASH :
rm -f /mnt/gentoo/*.tar.bz2
On revient à la racine du live CD et on démonte tout ce dont on a plus besoin :
Code BASH :
cd umount -a
On reboot, on enlève le Live CD et on croise les doigts
Voila Gentoo est installée