Gentoo

Gen­too est une dis­tri­bu­tion Linux qui à la par­ti­cu­la­ri­té de ne pas uti­li­ser de for­mat de paquet, mais de tout com­pi­ler à par­tir des sources.


Ici je ferais deux ins­tal­la­tions dif­fé­rentes, une en mode “BIOS” et une en mode “Lega­cy”. Quand un chan­ge­ment d’un mode à l’autre sera effec­tué, je le pré­ci­se­rai.

Au boot de l’I­so de Gen­too, on laisse le Live CD char­ger.

On met notre cla­vier en fran­çais:
loadkeys fr

Nous pou­vons effec­tuer l’ins­tal­la­tion depuis une autre machine, cela est plus simple pour effec­tuer des copier col­ler, ou encore si l’on fait une ins­tal­la­tion sur une machine vir­tuelle.

Configuration du SSH

Le fichier de confi­gu­ra­tion de base du LiveCD de Gen­too auto­rise Root à se connec­ter en SSH mais le ser­vice est arrê­té de base.

Démar­rage du ser­vice sshd:

/etc/init.d/sshd start

Nous met­tons un mot de passe à Root pour pou­voir se connec­ter en ssh:

passwd

Nous pou­vons main­te­nant voir notre IP avec “ifcon­fig” et se connec­ter en SSH, chez moi l’IP est 192.168.43.54, je me connecte donc avec

ssh root@192.168.43.54


Pour le par­ti­tion­ne­ment, j’u­ti­li­se­rais l’ou­til cfdisk avec le label gpt.

cfdisk

Par­tion­ne­ment mode “BIOS” / “Lega­cy”

Ici je ferais une par­ti­tion de 2Go pour le swap, 10Go pour la racine et 8Go pour le dos­sier uti­li­sa­teur comme ceci. Ne pas oublier de sau­ve­gar­der vos par­ti­tions avec “Write”.

Nous pou­vons si nos par­ti­tions 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 dos­sier uti­li­sa­teur

Par­ti­tion­ne­ment mode “UEFI”

Ici je ferais 4 par­ti­tions, une de 500 Mio pour l’ue­fi, 10 Gio pour la par­ti­tion racine, 15 Gio pour le dos­sier home et 4,5 Gio pour le swap.

Nous pou­vons voir si nos par­ti­tions ont bien étaient crées

lsblk

Chez moi, cela donne:
/dev/sda1 pour la par­ti­tion sys­tème EFI
/dev/sda2 pour la racine
/dev/sda3 pour la par­ti­tion uti­li­sa­teur
/dev/sda4 pour la par­ti­tion de swap

For­ma­tage des par­ti­tions mode “BIOS” / “Lega­cy“

mkswap /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3

For­ma­tage des par­ti­tions mode “UEFI”

mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda4

Mon­tage des par­ti­tions mode “BIOS” / “Lega­cy”

mount /dev/sda2 /mnt/gentoo
mkdir /mnt/gentoo/home
mount /dev/sda3 /mnt/gentoo/home
swapon /dev/sda1

Mon­tage des par­ti­tions 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


Ins­tal­ler les fichiers de Gen­too

Télé­char­ge­ment des fichiers de Gen­too amd64:

wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20191117T214502Z/stage3-amd64-20191117T214502Z.tar.xz

On extrait le conte­nu:

tar xJvpf stage3-amd64-20191117T214502Z.tar.xz -C /mnt/gentoo/


Confi­gu­ra­tion du fichier de com­pi­la­tion

vi /mnt/gentoo/etc/portage/make.conf

USE="python"
MAKEOPTS="-j5"
L10N="fr"
VIDEO_CARDS="virtualbox"

Sélec­tion d’un miroir Gen­too, j’u­ti­lise un miroir Fran­çais et de pré­fé­rence en HTTPS

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

Créa­tion du dos­sier repos.conf

mkdir -p /mnt/gentoo/etc/portage/repos.conf

Copie du fichier de confi­gu­ra­tion du dépôt Gen­too

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éso­lu­tion des noms

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

Mon­tage et chroot

mount -t proc /proc /mnt/gentoo/proc
mount --rbind /dev /mnt/gentoo/dev
mount --rbind /sys /mnt/gentoo/sys

On s’en­ferme dans le nou­veau sys­tème

chroot /mnt/gentoo /bin/bash

On met à jour les variables d’en­vi­ron­ne­ments

mkdir /var/db/repos/gentoo

env-update && source /etc/profile

On change notre variable PS1 pour per­mettre de mieux s’y retrou­ver du fait que l’on ai “chroo­té”

export PS1="[chroot] $PS1"

emerge-webrsync

emerge --sync

Nous pou­vons édi­ter le fichier package.license pour dire d’ac­cep­ter cer­tains types de license, ou même toutes.

nano /etc/portage/package.license

Ce para­mètre per­met de dire que l’on accepte toutes les licenses:

*/*  *

Confi­gu­ra­tion du pro­file gen­too

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 confi­gu­rer 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’en­vi­ron­ne­ment

env-update && source /etc/profile && export PS1="[chroot] $PS1"

Confi­gu­ra­tion du fuseau horaire

echo "Europe/Paris" > /etc/timezone

Confi­gu­ra­tion du paquet time­zone-data

emerge --config sys-libs/timezone-data

Fichier fstab

nano /etc/fstab

Fichier fstab pour une ins­tal­la­tion en EFI

Installation du noyau

Si nous vou­lons un ker­nel récent, nous pou­vons ajou­ter “expe­ri­men­tal” 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

Acti­va­tion du dhcp et de ssh au démar­rage

systemctl enable dhcpcd
systemctl enable sshd

Installation de grub

Dans le fichier /etc/portage/make.conf on rajoute la plat­forme 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 main­te­nant redé­mar­rer la machine

emerge -a vim layman gentoolkit portage-utils htop app-misc/screen eix nmon dev-libs/wayland

euse -E gles