Post

Archlinux chiffré LVM/LUKS

Archlinux chiffré LVM/LUKS

Installation Archlinux LVM/LUKS avec systemd-boot

Note: Si vous voulez une configuration de chiffrement plus simple (avec LUKS seulement), vous pouvez plutôt utiliser l’installateur archinstall “guided” inclus avec Arch depuis avril 2021.

USB

Télécharger Arch Linux. Préparer un support d’installation (Un lecteur USB est utilisé comme exemple ci-dessous).

Si vous avez téléchargé Arch Linux depuis un miroir, assurez-vous de vérifier la somme de contrôle du fichier

1
2
sha1sum file_name.iso
md5sum file_name.iso

Ce qui précède devrait donner des sommes contrôle à comparer aux sommes de contrôle officiels Arch Linux.

Relever le nom de votre clé USB avec lsblk. Assurez-vous qu’elle n’est pas montée.

Pour monter la commande Arch ISO exécuter la commande suivante, en remplaçant /dev/sdx par votre lecteur, par exemple /dev/sdb. (ne pas ajouter de numéro de partition, donc n’utilisez pas quelque chose comme /dev/sdb1):

1
dd bs=4M if=path/to/archlinux-version-x86_64.iso of=/dev/sdx conv=fsync oflag=direct status=progress

Préparation

Démarrer à partir du lecteur USB (Secure Boot dit être désactivé dans le BIOS si le démarrage à partir de l’USB échoue).

Si la police courante est illisible ou trop petite

1
setfont sun12x22

Vérifiez si vous êtes en mode UEFI

1
ls /sys/firmware/efi/efivars

Si aucune erreur et que le répertoire existe, le système est démarré dans UEFI. Sinon redémarrer en mode UEFI.

Vérifiez qu’il y a une connexion Internet

1
ping archlinux.org

Si vous devez vous connecter via Wi-Fi, utilisez iwctl (l’invite interactive pour iwd)

1
2
3
4
5
$ iwctl
[iwd]# device list
[iwd]# station DEVICE_NAME scan
[iwd]# station DEVICE_NAME get-networks
[iwd]# station DEVICE_NAME connect SSID

Mettre à jour l’horloge du système

1
timedatectl set-ntp true

Vous pouvez modifier /etc/pacman.d/mirrorlist si vous souhaitez modifier la liste des miroirs (et l’ordre de priorité) utilisés lors de l’installation des paquets. Il peut être intéressant de déplacer les miroirs géogrpahiquement les plus proches vers le haut du fichier. Ce fichier sera copié sur votre système final une fois l’installation terminée.

Partitionnement

Obtenir le nom du disque

1
lsblk

On a une réponse de du type /dev/sda

Effacer le disque à l’aide de l’outil shred

1
shred -v -n1 /dev/sdX

Partitionner le disque en utilisant gdisk

1
gdisk /dev/sda
  • La partition 1 doit être une partition de démarrage EFI (code: ef00) de 512 Mo.
  • La partition 2 devrait être une partition Linux LVM (8e00).

La 2ème partition peut prendre le disque complet ou seulement une partie. N’oubliez pas d’écrire les modifications de la table de partition sur le disque à la fin de la configuration.

Une fois partitionné vous pouvez formater la partition de démarrage (la partition LVM doit être chiffrée avant qu’elle ne soit formatée)

1
mkfs.fat -F32 /dev/sda1

Chiffrement

Premièrement lancer modprobe pour dm-crypt

1
modprobe dm-crypt

Chiffrer le disque

1
cryptsetup luksFormat /dev/sda2

Ouvrez le disque avec le mot de passe défini ci-dessus

1
cryptsetup open --type luks /dev/sda2 cryptlvm

Vérifiez que le disque lvm existe

1
ls /dev/mapper/cryptlvm

Créer un volume physique

1
pvcreate /dev/mapper/cryptlvm

Créer un groupe de volume

1
vgcreate volume /dev/mapper/cryptlvm

Créer des partitions logiques

1
2
3
lvcreate -L20G volume -n swap
lvcreate -L40G volume -n root
lvcreate -l 100%FREE volume -n home

Formater le système de fichiers sur les partitions logiques

1
2
3
mkfs.ext4 /dev/volume/root
mkfs.ext4 /dev/volume/home
mkswap /dev/volume/swap

Monter les volumes et les systèmes de fichiers

1
2
3
4
5
6
mount /dev/volume/root /mnt
mkdir /mnt/home
mkdir /mnt/boot
mount /dev/volume/home /mnt/home
mount /dev/sda1 /mnt/boot
swapon /dev/volume/swap

Installation

Installer le paquet de base, linux, firmware, lvm2 et utilitaires

1
pacstrap /mnt base base-devel linux linux-firmware lvm2 nano

Générer fstab

1
genfstab -U /mnt >> /mnt/etc/fstab

chroot dans le système

1
arch-chroot /mnt

Définir l’heure locale (choisir une localité pertinente)

1
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

Réglez l’horloge

1
hwclock --systohc

Décommenter fr_US.UTF-8 UTF-8 ou toutes les localisations dont vous avez besoin dans /etc/locale.gen
Puis exécuter

1
locale-gen

Créer un fichier de configuration “locale”

1
locale > /etc/locale.conf

Définir la variable lang dans le fichier ci-dessus (Choisissez le code de langue qui vous intéresse)

1
LANG=fr_FR.UTF-8

Ajouter un nom d’hôte (tout nom d’hôte de votre choix comme une ligne dans le fichier. Par exemple, «monarch»

1
nano /etc/hostname

Mettre à jour le contenu de /etc/hosts (remplacer myhostname avec le nom d’hôte que vous avez utilisé ci-dessus)

1
127.0.1.1   myhostname.localdomain  myhostname

Parce que notre système de fichiers est sur LVM, nous devrons activer les corrects “hooks” mkinitcpio.
Modifier le /etc/mkinitcpio.conf. Recherchez la variable HOOKS et mettez-la à jour pour ressembler à ce qui suit

1
HOOKS=(base udev autodetect keyboard keymap modconf block encrypt lvm2 filesystems fsck)

Régénérer initramfs

1
mkinitcpio -p linux

Installer un chargeur de démarrage (bootloader)

1
bootctl --path=/boot/ install

Créer un chargeur de démarrage. Modifier /boot/loader/loader.conf.
Remplacer le contenu du fichier par :

1
2
3
default arch
timeout 3
editor 0

edito 0 garantit que la configuration ne peut pas être modifiée au démarrage.

Créer une entrée bootloader dans /boot/loader/entries/arch.conf

1
2
3
4
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID={UUID}:cryptlvm root=/dev/volume/root quiet rw

Remplacer {UUID} par /dev/sda2.
Afin d’obtenir l’UUID exécuter la commande suivante

1
blkid

Complément

Avant de terminer les étapes d’installation, vous pouvez installer des paquets supplémentaires pour la gestion utilisateur et réseau (ceux-ci sont inclus dans l’installateur mais ne sont normalement pas inclus dans l’installation elle-même):

1
sudo pacman -Syu sudo iw iwd dhcpcd

Mot de passe root

1
passwd

Sortie chroot:

1
exit

Tout démonter

1
umount -R /mnt

Redémarrage

1
reboot
Cet article est sous licence CC BY 4.0 par l'auteur.