Installation archlinux - UEFI 64bits

De Wiki doc

EN CHANTIER

Article en cours d'écriture et/ou de test. Certains éléments peuvent être incomplets et mener à un résultat non fonctionnel.
Merci de ne pas rager.

Ce document décrit les étapes d'installation de la distribution Archlinux sur une machine à base d'UEFI 64 bits avec une partition chiffrée et un système de fichier btrfs. Pour les système en UEFI 32bits ou en BIOS, les étapes sont décrites dans la documentation dédié à ce cas particulier. Après avoir démarré sur l’ISO, on se retrouve avec un prompt root.

Nous utiliserons le chargeur d'amorçage GummiBoot, projet ayant intégralement été intégré à Systemd, au même titre que Udev et portant désormais le nom Systemd-boot.

Téléchargement de l'ISO

Les ISO d'installation d'Archlinux sont disponibles à l'adresse http://mir.archlinux.fr/iso/.

Installation

Il est important de démarrer le support d'installation en UEFI via le menu de démarrage de votre carte mère. Le bon fonctionnement de la suite est lié à la présence de fichiers dans /sys/firemware/efi.

Préparation du disque cible

Identifier le disque dur que l’on va utiliser pour l’installation

fdisk -l

ou

lsblk -f

Mon disque est en /dev/sda

Suppression du schéma de partition existant

dd if=/dev/zero of=/dev/sda bs=512 count=1 && sync
cfdisk /dev/sda

Suivre les étapes suivantes dans l’utilitaire :

  • Créer une partition de 50 Mo minimum (256 Mo conseillé).
    • Sélectionner le "Type" "EFI System"
  • Créer une partition pour le SWAP si vous pensez que c'est nécessaire (on la montera via /etc/fstab à la fin )
  • Créer une autre partition contenant le reste de l’espace disponible pour le système.
  • Écrire les modifications avec l’option "Write" et confirmer par "yes".

INFORMATION

On va partir du principe que la partition SWAP a été créée. Ce qui donne sda2 pour le SWAP et sda3 pour le disque système.

Formater l'EFI System Partition (ESP)

mkfs.vfat /dev/sda1

Créer le volume chiffré luks

cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sda3

Déchiffrer le volume

cryptsetup luksOpen /dev/sda3 sda3_crypt

Formater la partition système

mkfs.btrfs /dev/mapper/sda3_crypt

Monter cette partition

mount /dev/sda3 /mnt

Créer le swap

mkswap /dev/sda2

Activer le swap

swapon /dev/sda2

Installation du système

pacstrap /mnt base base-devel

Configuration de l’installation

Chrooter le système

arch-chroot /mnt

[chroot] Installer Vim

pacman -S vim

[chroot] Donner un mot de passe à root

passwd

[chroot] Mettre le système en français

nano /etc/locale.gen

INFORMATION

Il faut dé-commenter la valeur fr_FR_UTF-8 UTF-8

[chroot] Générer les langues

locale-gen

[chroot] Mettre le clavier en AZERTY Français

echo "KEYMAP=fr-latin1" > /etc/vconsole.conf

INFORMATION

La liste des mappages supportés s’obtient avec la commande localectl list-keymaps. On peut savoir quel mappage clavier est utilisé avec la commande localectl status. Voir la page dédiée aux claviers.

[chroot][facultatif] Cration d’un utilisateur

useradd -g users -m NOM_UTILISATEUR
passwd NOM_UTILISATEUR

INFORMATION

Plus d'informations sur la page consacrée à la création d’utilisateur.

[chroot] Changer le fuseau horraire

ln -s /usr/share/zoneinfo/Europe/Paris /etc/localetime

[chroot] Donner un nom à la machine

echo "NOM_MACHINE" > /etc/hostname

Installation du chargeur d'amorçage

[chroot] Installation des fichiers d'amorçage

bootctl install

[chroot] modification du menu de démarrage

vim /boot/loader/loader.conf
default arch
timeout 4

[chroot] Création des paramètres de démarrage

vim /boot/loader/entries/arch.conf
title Archlinux
linux /vmlinuz-linux
initrd /initramfs-linux-linux.img
options cryptdevice=UUID=<UUID partition chiffrée sda3>:archcrypt rootfstype=btrfs root=/dev/mapper/archcrypt rw

archcrypt est le nom que l'on donne au volume déchiffré (lien symbolique de /dev/dm-0 dans /dev/mapper/archcrypt), on peut mettre n'importe quoi.

ASTUCE

Pour avoir l'UUID de la partition dans le fichier vous pouvez utiliser la commande Vim r !blkid ce qui aura pour effet d'importer le contenu de la commande blkid directement dans le fichier. Il ne restera plus qu'a sélectionner l'UUID avec Maj+v.

[chroot] Ajouter le module de déchiffrement et de mappage clavier à l'initrd

vim /etc/mkinitcpio.conf

Ajouter les paramètres keymap et encrypt à la variable HOOKS

...
HOOKS="base udev autodetect modconf block keymap encrypt système de fichiers keyboard fsck"
...

ATTENTION

L’ordre d’apparition des hooks dans la variable HOOKS est important, car c’est l’ordre utilisé pour lancer les scripts lors de l’amorçage.

[chroot] Compiler une nouvelle image initrd

mkinitcpio -p linux

[chroot] Sortir du chroot et redémarrer

exit
reboot

Installation de l'interface graphique

Gnome Shell

Installation des paquets

pacman -S gdm gnome-extra gnome-terminal gnome-control-center vlc firefox firefox-i18n-fr

Démarrage du système sur l'interface graphique

systemctl enable gdm

KDE

Source