Gentoo

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