Archlinux chiffré LVM/LUKS
Installation Archlinux LVM/LUKS avec systemd-boot
- https://wiki.archlinux.org/index.php/Installation_guide
- https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system
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