Tuto Arch Linux #1: Installation de base

Introduction

Voilà longtemps que j’ai envie d’essayer Arch Linux. Un peu marre des distributions qui contiennent tout et n’importe quoi, surtout ce dont on a pas besoin. Ubuntu, Linux Mint, et autres Fedora sont pratiques pour installer sans se poser de questions. Mais au final, elles sont presque aussi lourdes que Windows et ça ne me convient plus. Arch Linux a l’avantage d’être une distribution très légère sur laquelle on va installer les couches dont on a besoin, et uniquement celles-là.

Par quoi commencer

Téléchargement

Commençons donc par télécharger l’image ISO d’installation Arch Linux. Je ne mettrai pas les liens ici. Faites votre recherche, ce n’est pas compliqué.

Boot

On crée ensuite une clé USB avec l’ISO en question, on boote dessus (personnellement je choisis la version x86_64), et on se retrouve sur un prompt Linux qui ressemble à ça:

root@archiso ~ #

Changement du clavier

Pour changer au clavier Suisse-Français (dans mon cas. Choisissez le vôtre). La commande est loadkeys, et les fichiers sont dans /usr/share/kbd. Dans mon cas, voilà ce que ça donne:

loadkeys /usr/share/kbd/keymaps/i386/qwertz/fr_CH-latin1.map.gz

A partir de là, le clavier fonctionne en fr_CH. Ce sera bien plus facile pour la suite.

La documentation d’installation

Pour se donner du courage, on peut lire le fichier install.txt qui se trouve dans /root. C’est un document simple facile à lire, qui explique chaque étape de l’installation. Bien sûr, le présent article est un peu plus complet, et surtout, il couvre les petits aléas que j’ai rencontré en cours de route, et qui ne sont pas forcément détaillés dans cette documentation.

Création des partitions

La première étape consiste a créer les partitions. Hé oui. Avec Arch Linux, pas de wizard, pas de facilité. On fait tout à la main, et c’est tant mieux pour apprendre. Je n’utiliserai pas LVM pour le moment, car je ne sais pas si le kernel fourni par l’installation le supporte pour le boot.

On commence donc par faire la liste des disques reconnus pour identifier sur quel disque on va l’installer:

fdisk -l

Cette commande va lire le fichier /proc/partitions et lister les tables de partition de tous les disques reconnus.

Une fois qu’on a identifier le disque sur lequel on souhaite installer le système, on entre avec fdisk

fdisk /dev/sda

Dans mon cas, /dev/sda a déjà 3 partitions car j’ai installé Arch Linux hier, et je recommence ce soir pour faire l’article. Je commence donc par effacer ces trois partitions:

d   # delete
3   # partition 3
d   # delete
2   # partition 2
d   # delete (Il n'en reste plus qu'une, il l'efface sans proposer de choix)

Je vais pas me prendre le chou, puisque j’ai un disque unique, et qui ne risque pas de grandir 🙂 je ne vais pas m’embêter avec LVM, et je ne vais pas faire 36 partitions. Je ne veux qu’une partition boot, une swap, et une root. Voici donc mes commandes

n    # Add a new partition
p    # primary
1    # partition number
2048 # On commence à 2048 (proposé par défaut sur mon système) pour que la partition soit alignée correctement sur le disque
+100M # Et je finis 100Mo plus loin
a     # On marque la partition bootable
 
# On créée les suivantes
 
n       # Nouvelle partition
p       # Primaire
2       # Partition numéro 2
[enter] # par défaut on accepte le secteur proposé puisque c'est celui après la précédente partition
+4G     # Je crée une partition de 4Go pour le swap
t       # Nous allons changer le type de patition. Pour la liste des types disponibles, tapez l
2       # On choisit la patition 2
82      # On définit la partition comme swap
 
n       # Nouvelle partition
p       # primaire 
3       # partition numéro 3
[enter] # comme ci-dessus
[enter] # Par défaut, il propose le dernier secteur du disque
 
w       # On sauve les changements

Nous voilà donc avec un disque qui contient trois partitions prêtes à l’emploi.

Création des systèmes de fichiers

je vais faire un système ext2 pour le boot, et un ext4 pour le root. Et je vais également préparer la partition swap.

Commençons donc par les deux files systèmes. C’est plutôt simple. A noter que j’ai pris l’habitude de mettre un label sur les systèmes de fichier pour les utiliser ensuite dans fstab.

mkfs.ext2 /dev/sda1
e2label /dev/sda1 boot
 
mkfs.ext4 /dev/sda3 -L root

On prépare ensuite la partition de swap

mkswap -L swap01 /dev/sda2

Nous voilà parer.

Installation

Montage des systèmes de fichiers

Il faut maintenant monter les systèmes de fichier pour pouvoir procéder à l’installation. Nous allons simplement monter le root dans /mnt, y créer un sous dossier boot, et monter la partition boot dedans.

mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

Connection à internet

Pour faire l’installation, nous avons besoin d’une connexion internet. Si vous êtes connecté à un réseau câblé, un service DHCP fonctionne sur le système d’installation. Vous devriez donc avoir directement accès à internet. Un petit ping www.google.ch par exemple permettra de le vérifier.

Si, comme moi, vous êtes sur un PC avec accès Linux, un programme très partique est disponible. Il s’appelle wifi-menu. On exécute donc wifi-menu. On se retrouve dans une interface texte qui liste les réseaux disponible. On sélectionne son réseau, on précise un nom de profil (celui-ci n’a pas d’importance, c’est juste une étiquette et ça ne restera pas puisque nous sommes sur le système d’installation), puis on entre la clé WEP, WPA, WPA2 ou tout autre clé nécessaire à la connexion.

Idem, un petit ping www.google.ch pour vérifier qu’on est bien connecté à internet.

Installation du système de base

Nous voilà maintenant à l’installation du système de base. Le programme pacstrap permet d’envoyer la base sur un filesystem différent de celui sur lequel on a démarré. On lance donc simplement

A noter que l’on peut à ce moment là préciser d’autres paquets si on les connait. Je vous conseille d’ajouter directement lynx, un navigateur internet qui va s’avérer utile si vous avez besoin d’aller faire une recherche sur internet, et wget, qui va être utilise quant à lui si vous devez télécharger un fichier directement sans passer par lynx.

Pour que l’installation soit plus rapide, on va sélectionner le miroir de téléchargement. On édite le fichier /etc/pacman.d/mirrorlist et on cherche le miroir le plus proche de chez soi. On déplace les deux lignes en tête de liste. Petite astuce, si on utilise nano pour l’édition, ctrl-K permet de couper les lignes sur lesquelles on se trouve, et ctrl-U permet de les coller. Donc on va sur la première ligne qui concerne son miroir, on tape ctrl-K deux fois pour couper les deux lignes concernées, on retour en tête de liste, et on tape une fois ctrl-U pour les coller. On sauve et on quitte.

Ensuite:

pacstrap /mnt base lynx wget

Et on attend que ça se passe.

Créaction du fstab

On crée ensuite le fichier fstab qui permettra de monter automatiquement les partitions au démarrage grâce à la commande suivante, l’option -L permettant de reprendre les labels créés plus haut

Pour se simplifier la vie, on active la partition swap tout de suite. Ceci va permettre que genfstab l’ajoute dans le fichier fstab. Si on ne le fait pas, le fichier fstab ne présentera que les partitions root et boot, mais pas le swap, qu’il faudra alors ajouter ensuite à la main… beurk.

swapon /dev/sda2
genfstab -L /mnt >> /mnt/etc/fstab

Voici ce que donne mon fstab

# /dev/sda3 UUID=9ea595f8-fc66-4104-b5e1-922f5d976696
LABEL=root              /               ext4            rw,relatime,data=ordered        0 1
 
# /dev/sda1 UUID=822e5733-fc11-4fdb-bedc-654ea2981b79
LABEL=boot              /boot           ext2            rw,relatime     0 2
 
# /dev/sda2 UUID=d98b582e-d1f0-4344-95b0-d0a2dfd4e90e
LABEL=swap01            none            swap            defaults        0 0

Préconfiguration

Pour la suite des événements, on « chroote » dans le nouvel environnement. Merci Arch Linux, on nous simplifie la commande avec

arch-chroot /mnt

A partir de là, nous ne sommes plus sur le système d’installation, mais bien sur notre nouveau système. /mnt est donc devenu / et tout ce qu’on fera comme commande proviendra de notre nouveau, et futur linux.

Il reste quelques paramètres à préparer: hostname, fuseau horaire, paramètres de régions, RAM disk initial…

Pour le hostname, on insère le nom de machine dans /etc/hostname. Ma machine s’appelle ferenginar (quoi ? Moi un geek ???):

echo ferenginar > /etc/hostname

On spécifie ensuite le fuseau horaire en faisant un lien symbolique de notre fichier de zone vers /etc/localtime. Dans mon cas:

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

On s’occupe ensuite de la localisation. Toujours dans mon cas, je vais activer fr_CH en UTF-8. En effet, je ne travaille plus qu’en UTF-8. Pour ce faire, on édite le fichier /etc/locale.gen et on décommente la localisation que l’ont souhaite utiliser. Ici, fr_CH.UTF-8 UTF-8.

On génère ensuite la localisation avec la commande

locale-gen

Ensuite, on crée le fichier /etc/locale.conf pour spécifier les paramètres régionaux. Au départ, j’ajoute simplement la langue et la langue des messages. Je me pencherai sur le reste plus tard:

LANG=fr_CH.UTF-8
LC_MESSAGES=fr_CH.UTF-8

On précise ensuite la langue de clavier que l’on souhaite dans le fichier /etc/vconsole.conf

KEYMAP=fr_CH-latin1

Enfin, on crée l’image de disque RAM initiale qui permettra de démarrer linux. Pour ce faire, on configure le fichier /etc/mkinitcpio.conf et ensuite on crée l’image avec la commande suivante:

mkinitcpio -p linux

Personnellement, je n’ai pas encore creuser les possibilités de ce fichier, toutefois, il est à noter que si root est sur lvm2, c’est à ce moment là qu’il faut s’en inquiéter. startpage est ton ami.

Avant d’aller plus loin, quelques paquets utiles à installer, pour pouvoir se connecter au wifi après le redémarrage.

pacman -S dialog netctl wpa_supplicant net-tools

Installation du gestionnaire d’amorçage, ou bootloader

Il est temps d’installer le bootloader, sinon, au redémarrage, votre système vous dira simplement qu’il n’a pas trouvé de système d’exploitation o_O. Perso, je choisis grub, et donc j’exécute les commandes suivantes, en sachant que pacman est le gestionnaire de paquet utilisé dans arch linux. On se souvient de la sélection du miroir plus haut, et on se souvient qu’on a changer de contexte. On est maintenant dans notre nouveau linux. Le fichier en question n’est donc plus le même. On réédite /etc/pacman.d/mirrorlist et on répète l’opération. Ceci accélerera l’installation du bootloader.

pacman -S grub
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Petit conseil à ce stade. Utilisez la commande blkid pour voir le UUID du système root. Voilà ce que ça donne chez moi

# blkid | grep root
 
/dev/sda3: LABEL="root" UUID="9ea595f8-fc66-4104-b5e1-922f5d976696" TYPE="ext4" PARTUUID="e5c631f8-03"
/dev/mapper/arch_root-image: UUID="8a1023d6-199d-47ad-a0a6-d4c18636ff9f" TYPE="ext4"

Le premier est mon volume root, le second est l’environnement d’installation.

On retient les 4 derniers chiffres du UUID (6696). Ensuite on vérifie dans /boot/grub/grub.cfg que dans les sections menuentry, c’est bien ce volume qui a été configuré comme root. Voici l’extrait de mon fichier:

menuentry "Arch Linux pkg-linux kernel" --class arch-linux --class arch --class gnu-linux --class gnu --class os {
    if [ x$feature_all_video_module = xy ]; then
        insmod all_video
    fi
    set gfxpayload=keep
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid  --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  822e5733-fc11-4fdb-bedc-654ea2981b79
    else
        search --no-floppy --fs-uuid  --set=root 822e5733-fc11-4fdb-bedc-654ea2981b79
    fi
    echo 'Loading Arch Linux pkg-linux kernel ...'
    linux /vmlinuz-linux root=UUID=9ea595f8-fc66-4104-b5e1-922f5d976696 rw  quiet
    echo 'Loading Arch Linux pkg-linux kernel initramfs ...'
    initrd /initramfs-linux.img
}

On voit ici quand sous la commande linux /vmlinuz-linux …. c’est bien le bon UUID qui est indiqué.

Si ce n’est pas le cas, revoyez votre configuration grub. Votre système ne bootera pas.

Redémarrage du système

Le système est prêt. Il est temps de voir si on a rien oublier. On sort du chroot, on démonte nos systèmes et on redémarre:

exit
umount -R /mnt
reboot

Dans un prochain article, on installera un environnement graphique, ainsi que les outils de bases à une utilisation bureautique.

2 réflexions sur “Tuto Arch Linux #1: Installation de base

  1. Bonjour,

    Merci pour ce tuto super utile!!
    Je suis tout nouveau sur linux et je me suis heurté à deux problèmes :
    Création du fstab >> j’ai pas de suite compris que c’était le signe supérieur deux fois
    Et petite erreur sur le lien symbolique ls -s via ln -s
    Encore une fois merci beaucoup pour le tuto 🙂

  2. Salut Phil

    Merci pour ton sympathique message, et bienvenu dans la communauté Linux.

    Et bravo d’avoir finalement trouvé la solution à ces deux erreurs 🙂 C’est déjà un grand pas. Faut que je corrige l’article, merci de les avoir remonter.

    Si tu es nouveau sur Linux, Arch Linux va te demander beaucoup d’investissement personnel, mais va te permettre de beaucoup mettre la main à la pâte. Si tu te décourages, n’abandonne pas et essaie des distribution comme CentOS ou Debian qui sont très populaires, et un peu moins difficiles à prendre en main. Bon courage.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *