SkillAgentSearch skills...

ArchLinuxInstallation

How to install Arch Linux?

Install / Use

/learn @g0h4n/ArchLinuxInstallation
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

How To Install My ArchLinux?

Introduction

Dans cette procédure, je vous détaille step by step comment installer une Arch Linux.

Certaines étapes diffèrent. Pour la connexion Wifi par exemple, sur une VM nous sommes NATés automatiquement au réseau du poste. Si nous installons ArchLinux sur un laptop il faudra utiliser le paquet "wifi-menu" ou encore "NetworkManager" avec la commande "nmtui" après l'installation.

Si vous souhaitez installer Arch Linux sur une VM avec VMWARE, veuillez éditer le fichier .vmx afin d'ajouter la ligne suivante à la fin de celui-ci :

firmware = "efi"

Sommaire :

Préparation de la clef bootable

Afin d'installer le système ArchLinux, il faut télécharger l'ISO de celui-ci depuis le site officiel d'ArchLinux.

#Exemple pour préparer votre clef bootable avec la commande dd
dd if=image.iso of=/dev/sdX bs=4M

Une fois votre clef prête, il suffit de booter sur celle-ci et choisir, installer ArchLinux 64bits.

Installation

Préparation

Il faut passer le système sur une version française avec un clavier azerty une fois que vous avez un shell qui apparaît.

loadkeys fr

Maintenant que nous avons notre clavier azerty, nous allons vérifier que nous sommes bien connecté à internet.

ping google.fr

Si la requête ICMP passe nous pouvons passer à l'étape suivante, sinon vérifier votre connexion réseau. Pour le paramétrage wifi utiliser le paquet wifi-menu.

Partitionnement

Dans le cas d'un système pas (entièrement) chiffré

Nous allons partitionner notre système de façon à avoir les partion suivantes :

/boot    1Go
swap    16Go
/       30Go
/home  150Go # le reste

Pour le partitionnement vérifier le nom de votre disque avec la commande suivante :

fdisk -l

Ici mon disque c'est /dev/nvme0n1

Création des partions :

gdisk /dev/nvme0n1
    d    	#delete all partitions
    n    	# Add a new partition
    1    	# partition number (/boot)
    [enter]
    +1G 	# Et je finis 1Go plus loin

    t
    ef00    # EFI system


    # On créée les suivantes

    n       # Nouvelle partition
    2       # Partition numéro 2 (swap)
    [enter] # par défaut on accepte le secteur proposé
    +16G    # Je crée une partition de 16Go pour le swap
    t       # Nous allons changer le type de patition.
    2       # On choisit la patition 2
    8200      # On définit la partition comme swap


    n       # Nouvelle partition
    3       # partition numéro 3 (/)
    [enter]
    +49G    # 


    n       # Nouvelle partition
    4       # partition numéro 4 (/home)
    [enter]        
    [enter]

    w       # On sauve les changements
Formatage des partitions
mkfs.fat -F32 /dev/nvme0n1p1
mkswap /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3
mkfs.ext4 /dev/nvme0n1p4
Montage des partitions
mount /dev/nvme0n1p3 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
swapon /dev/nvme0n1p2

Dans le cas d'un système entièrement chiffré

Partitions physiques

Nous allons partitionner notre système de façon à avoir les partion suivantes :

/boot    1Go
swap    16Go
/       80Go
/home  150Go # le reste

Pour le partitionnement vérifier le nom de votre disque avec la commande suivante :

fdisk -l

Ici mon disque c'est /dev/nvme0n1

Création des partions :

gdisk /dev/nvme0n1
    o       # Create new GUID (gpt) table
    d    	# delete all partitions
    n    	# Add a new partition
    1    	# partition number (/boot)
    [enter] # Par défaut
    +1G 	# Et je finis 1Go plus loin

    t
    ef00    # EFI system


    # On créée la suivante pour le LUKS/LVM

    n       # Nouvelle partition
    2       # Partition numéro 2
    [enter] # par défaut on accepte le secteur proposé
    [enter] # pareil pour le secteur de fin
    t       # Type
    8309    # LUKS
    w       # Écrire et quitter
Conteneur LUKS
Création du conteneur :
cryptsetup -v luksFormat /dev/nvme0n1p2
YES
Ouverture du conteneur :
cryptsetup open /dev/nvme0n1p2 luks
Partitionnement LVM
┌─────────┬────────┬────────┐
│   PV    │        │   LV   │ PV = Disque/partition physique (Physical Volume)
├─────────┤        ├────────┤
│   PV    │   VG   │   LV   │ VG = Disque détecté par le système (Volume Group)
├─────────┤        ├────────┤
│   PV    │        │   LV   │ LV = Partitions virtuelles (Logical Volume)
└─────────┴────────┴────────┘
Création du PV :
pvcreate /dev/mapper/luks
Création du VG
vgcreate VGname /dev/mapper/luks

Dans le cas d'un seul VG et plusieurs disques physiques, on peut étendre ce VG sur plusieurs disques physiques. Le système les considèrera comme un seul disque

pvcreate /dev/nouveaudisque
vgextend VGname /dev/nouveaudisque
Création des LV, ou partitions root, home et swap

Attention a bien partitionner votre root, ne pas hésiter à mettre 80Go/100Go pour ne pas être à court de stockage.

lvcreate -L 80G -n root VGname
lvcreate -L 16G -n swap VGname
lvcreate -l 100%FREE -n home VGname #utiliser l'espace restant
Formatage des partitions LVM
mkfs.ext4 /dev/mapper/VGname-root
mkfs.ext4 /dev/mapper/VGname-home
mkswap /dev/mapper/VGname-swap
mkfs.fat -F32 /dev/nvme0n1p1
Montage des partitions
mount /dev/mapper/VGname-root /mnt
mkdir /mnt/{boot,home}
mount -t vfat /dev/nvme0n1p1 /mnt/boot
mount /dev/mapper/VGname-home /mnt/home
swapon /dev/mapper/VGname-swap

Installation du système de base

Sélection du miroir :

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
#mettre les depot France au début du fichier
vim /etc/pacman.d/mirrorlist

Installation des paquets de base :

pacstrap /mnt base base-devel lvm2 linux linux-firmware dhclient git zsh firefox curl intel-ucode dialog wpa_supplicant networkmanager vim

Configuration hostname et langue

Générer le fstab du nouveau système via celui monté dans notre iso :

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

La commande ci-dessous permet de passer sur notre ArchLinux :

arch-chroot /mnt

Configuration du hostname de la machine :

echo 'G0H4N-VM-ARCHLINUX' > /etc/hostname

Configuration de la langue et des fuseaux horaires :

#Décommenter les deux lignes ci-dessous :

vim /etc/locale.gen
    fr_FR.UTF-8 UTF-8
    fr_FR ISO-8859-1

locale-gen

echo LANG=fr_FR.UTF-8 > /etc/locale.conf

export LANG=fr_FR.UTF-8

echo KEYMAP=fr > /etc/vconsole.conf

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

Configuration du système

Dans le cas d'un root chiffré

Éditer /etc/mkinitcpio.conf et ajouter encrypt lvm2 filesystems et keyboard à l'emplacement suivant :

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

Dans tous les cas

Lancer :

mkinitcpio -P

Configuration du boot

Afin que notre système puisse démarrer correctement nous allons préparer notre /boot :

bootctl --path=/boot install
vim /boot/loader/loader.conf

    default arch
    timeout 0
    editor 0
    default ID

Le Default ID sera normalement déjà présent et renseigné

Dans le cas d'un root non chiffré

Récupérer le PARTUUID de la partion racine / avec la commande suivante :

blkid /dev/nvme0n1p3

Ajouter ce PARTUUID dans le fichier suivant :

vim /boot/loader/entries/arch.conf

    title Arch Linux
    linux /vmlinuz-linux
    initrd /intel-ucode.img
    initrd /initramfs-linux.img
    options root=PARTUUID="66cda2d8-4aca-49ad-b1ff-ac17dd70cb01" rw quiet

Dans le cas d'un root chiffré

blkid | grep nvme0n1p2 | cut -d '"' -f2 >> /boot/loader/entries/arch.conf

Éditer le fichier arch.conf et replacer la ligne ajoutée dans le champs uuid

vim /boot/loader/entries/arch.conf

    title   Arch Linux
    linux   /vmlinuz-linux
    initrd  /intel-ucode.img
    initrd  /initramfs-linux.img
    options cryptdevice=UUID=4ad93963-fb52-4313-8846-636099383954:lvm:allow-discards root=/dev/mapper/VGname-root rw quiet

Dans tous les cas

Enfin mettre à jour notre /boot :

bootctl --path=/boot update

Set un password à root :

passwd

Quitter l'environement chroot:

$ exit

Redémarrer votre poste ou votre VM :

$ reboot

Configuration après redémarrage

Vérifier l

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1mo ago
Forks3

Security Score

85/100

Audited on Feb 19, 2026

No findings