Gentoo est une distribution Linux qui à la particularité de ne pas utiliser de format de paquet, mais de tout compiler à partir des sources.
Ici je ferais deux installations différentes, une en mode “BIOS” et une en mode “Legacy”. Quand un changement d’un mode à l’autre sera effectué, je le préciserai.
Au boot de l’Iso de Gentoo, on laisse le Live CD charger.
On met notre clavier en français:loadkeys fr
Nous pouvons effectuer l’installation depuis une autre machine, cela est plus simple pour effectuer des copier coller, ou encore si l’on fait une installation sur une machine virtuelle.
Configuration du SSH
Le fichier de configuration de base du LiveCD de Gentoo autorise Root à se connecter en SSH mais le service est arrêté de base.
Démarrage du service sshd:
/etc/init.d/sshd start
Nous mettons un mot de passe à Root pour pouvoir se connecter en ssh:
passwd
Nous pouvons maintenant voir notre IP avec “ifconfig” et se connecter en SSH, chez moi l’IP est 192.168.43.54, je me connecte donc avec
ssh root@192.168.43.54
Pour le partitionnement, j’utiliserais l’outil cfdisk avec le label gpt.
cfdisk
Partionnement mode “BIOS” / “Legacy”
Ici je ferais une partition de 2Go pour le swap, 10Go pour la racine et 8Go pour le dossier utilisateur comme ceci. Ne pas oublier de sauvegarder vos partitions avec “Write”.
Nous pouvons si nos partitions ont bien étaient crées avec:
lsblk
Chez moi, cela donne:
/dev/sda1 pour le swap
/dev/sda2 pour la racine
/dev/sda3 pour le dossier utilisateur
Partitionnement mode “UEFI”
Ici je ferais 4 partitions, une de 500 Mio pour l’uefi, 10 Gio pour la partition racine, 15 Gio pour le dossier home et 4,5 Gio pour le swap.
Nous pouvons voir si nos partitions ont bien étaient crées
lsblk
Chez moi, cela donne:
/dev/sda1 pour la partition système EFI
/dev/sda2 pour la racine
/dev/sda3 pour la partition utilisateur
/dev/sda4 pour la partition de swap
Formatage des partitions mode “BIOS” / “Legacy“mkswap /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
Formatage des partitions mode “UEFI”
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda4
Montage des partitions mode “BIOS” / “Legacy”
mount /dev/sda2 /mnt/gentoo
mkdir /mnt/gentoo/home
mount /dev/sda3 /mnt/gentoo/home
swapon /dev/sda1
Montage des partitions mode “UEFI”
mount /dev/sda2 /mnt/gentoo
mkdir /mnt/gentoo/home
mount /dev/sda3 /mnt/gentoo/home
swapon /dev/sda4
mkdir -p /mnt/gentoo/boot/EFI
mount /dev/sda1 /mnt/gentoo/boot/EFI
Installer les fichiers de Gentoo
Téléchargement des fichiers de Gentoo amd64:
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20191117T214502Z/stage3-amd64-20191117T214502Z.tar.xz
On extrait le contenu:
tar xJvpf stage3-amd64-20191117T214502Z.tar.xz -C /mnt/gentoo/
Configuration du fichier de compilation
vi /mnt/gentoo/etc/portage/make.conf
USE="python"
MAKEOPTS="-j5"
L10N="fr"
VIDEO_CARDS="virtualbox"
Sélection d’un miroir Gentoo, j’utilise un miroir Français et de préférence en HTTPS
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Création du dossier repos.conf
mkdir -p /mnt/gentoo/etc/portage/repos.conf
Copie du fichier de configuration du dépôt Gentoo
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Copie du fichier resolv.conf pour la résolution des noms
cp -L /etc/resolv.conf /mnt/gentoo/etc/
Montage et chroot
mount -t proc /proc /mnt/gentoo/proc
mount --rbind /dev /mnt/gentoo/dev
mount --rbind /sys /mnt/gentoo/sys
On s’enferme dans le nouveau système
chroot /mnt/gentoo /bin/bash
On met à jour les variables d’environnements
mkdir /var/db/repos/gentoo
env-update && source /etc/profile
On change notre variable PS1 pour permettre de mieux s’y retrouver du fait que l’on ai “chrooté”
export PS1="[chroot] $PS1"
emerge-webrsync
emerge --sync
Nous pouvons éditer le fichier package.license pour dire d’accepter certains types de license, ou même toutes.
nano /etc/portage/package.license
Ce paramètre permet de dire que l’on accepte toutes les licenses:
*/* *
Configuration du profile gentoo
eselect profile list
eselect profile set 24
Mise à jour du World
emerge -avuDN @world
Would you like to merge these packages ?
Yes
On édite un fichier de conf pour configurer les locales.
vim /etc/locale.gen
et on ajoute “ fr_FR.UTF‑8 UTF‑8”
On génère les locales.
locale-gen
eselect locale set 4
nano /etc/conf.d/keymaps
et mettre fr au lieu de us
localectl set-locale fr_FR_UTF-8
localectl set-keymap fr
Mise à jour de l’environnement
env-update && source /etc/profile && export PS1="[chroot] $PS1"
Configuration du fuseau horaire
echo "Europe/Paris" > /etc/timezone
Configuration du paquet timezone-data
emerge --config sys-libs/timezone-data
Fichier fstab
nano /etc/fstab
Fichier fstab pour une installation en EFI
Installation du noyau
Si nous voulons un kernel récent, nous pouvons ajouter “experimental” dans la variable USE dans notre fichier /etc/portage/make.conf
emerge -a gentoo-sources genkernel
Installation de quelques outils
emerge -a pciutils usbutils linux-firmware dhcpcd
Compilation du noyau
genkernel all
Activation du dhcp et de ssh au démarrage
systemctl enable dhcpcd
systemctl enable sshd
Installation de grub
Dans le fichier /etc/portage/make.conf on rajoute la platforme uefi pour grub
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge -a grub:2
mkdir /boot/grub
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --arget=x86_64 --efi-directory=/boot/EFI
On peut maintenant redémarrer la machine
emerge -a vim layman gentoolkit portage-utils htop app-misc/screen eix nmon dev-libs/wayland
euse -E gles