Archlinux_en_20_Etapes/archlinux-en-20-étapes.md

11 KiB

Installer une basique Archlinux en 20 étapes (et qu'elle redémarre !)


Alternatives 87 - F. G. - Je ne sais pas quand

Motivations

Depuis le temps que j'en installe des distributions GNU/Linux on suit toujours (ou presque) le même ordre d'installation, les questions suivent toujours un même ordre au point que je sais quasiment d'avance la suite de l'installation.

Avec le temps vient l'envie d'en savoir plus, je ne suis pas scientifique de formation pour rien, on aime comprendre et modéliser, certain·e·s appellent cela le syndrôme du rubik's cube, d'autres une sale manie de fouineur, mais toujours est-il qu'en savoir plus, s'autonomiser c'est progresser vers une plus grande liberté.

Du coup, avec ce même temps et l'envie d'en savoir plus je me tourne peu à peu vers des distributions linux où il m'est laissé plus de choses à faire par moi même, où, je peux par la même, installer plus finement un système nettoyé de tout le superflu où ne s'installe que ce dont j'ai envie ou besoin.

La démarche linuxienne peut se trouver dans bon nombre d'images sur internet, elle décrit l'évolution naturelle d'un utilisateur de GNU/Linux :

Linux-barbe

on a aussi droit à d'autres réprésentations rigolotes :

cycle-linux-user

Certes cette dernière image n'est pas très flatteuse pour les utilisateurs d'Arch (mais il y a pire, voire plus loin) mais elle donne une idée de l'évolution naturelle d'un utilisateur ou d'une utilisatrice de GNU/Linux : au début utilisant une distribution facile d'accès qui prend plein de décisions implicites laissant à la personne le plaisir d'utiliser le système sans trop d'efforts de compréhension des rouages internes, puis peu à peu c'est vers des versions plus difficiles qu'on arrive (en l'occurence j'en suis aux stades 4 et 5 pour les choix de distributions.

Équipement préalable

L'équipement à avoir pour commencer est assez simple, cette installation va s'effectuer :

  • sur une machine sans EFI actif donc en mode BIOS ou Legacy BIOS
  • sans chiffrement d'aucune sorte
  • 3 partitions basiques : /, /home et swap
  • avec une clé USB comme medium de démarrage

La préparation commence par un petit tour sur le site https://archlinux.org et plus précisement la section Download une fois le choix du miroir effectué dans la liste proposée je finis par télécharger le fichier iso suivant : https://mirror.thekinrar.fr/archlinux/iso/2018.10.01/archlinux-2018.10.01-x86_64.iso avec par exemple la commande curl ou la commande wget.

curl -L -C- -O https://mirror.thekinrar.fr/archlinux/iso/2018.10.01/archlinux-2018.10.01-x86_64.iso
wget -c https://mirror.thekinrar.fr/archlinux/iso/2018.10.01/archlinux-2018.10.01-x86_64.iso

notez que :

  • pour curl :
    • -L permet de suivre les redirections éventuelles si ce lien n'est pas direct
    • -O : indique d'utiliser le nom distant comme nom local (-o permet de donner un nom local différent du nom distant)
    • -C- : permet à curl de reprendre le téléchargement à l'octet près après une coupure de connexion
  • pour wget l'option -c indique de reprendre le téléchargement à l'octet près en cas de coupure de connexion.

Une fois le fichier téléchargé on peut (par précaution ?) télécharger le fichier de signature ou le fichier md5sum ou sha1sum (je vais prendre le md5sum) ici https://mirror.thekinrar.fr/archlinux/iso/2018.10.01/md5sums.txt et vérifier que l'ISO est correcte :

[anonymous@Tungsten ISOs]$ md5sum -c md5sums.txt 
archlinux-2018.10.01-x86_64.iso: Réussi
md5sum: archlinux-bootstrap-2018.10.01-x86_64.tar.gz: Aucun fichier ou dossier de ce type
archlinux-bootstrap-2018.10.01-x86_64.tar.gz: Échec d'ouverture ou de lecture
md5sum: Attention : 1 fichier de la liste n'a pas pu être lu

la 2e ligne du bloc de texte finissant par Réussi concernant le fichier "iso" téléchargé indique que ce fichier est exactement el même que celui téléchargé à l'octet près (non je ne parlerai pas de la collision md5...)

maintenant on passe à la préparation de la clé usb, je vais supposer (raisonnablement) que le disque interne de mon ordinateur est désigné par /dev/sda et qu'en branchant la clé USB un nouveau périphérique a été détecté en tant que /dev/sdb , je n'ai plus qu'à passer en administrateur (root) pour effectuer l'opération de gravure du support (je supposer bien sûr que je suis resté dans le dossier où a été téléchargée l'image archlinux-2018.10.01-x86_64.iso ) :

su
Mot de passe : 
dd status=progress bs=512 if=archlinux-2018.10.01-x86_64.iso of=/dev/sdb

A noter :

  • status=progress permet d'afficher une progression au lieu de ... rien.
  • bs=512 dit à la commande dd de lire 512 octets et de les écrire en une fois (donc écriture pas blocs de 512 octets)

Avant de commencer on vérifie qu'on dispose d'une information cruciale pour bien démarrer : quelle est la touche du clavier de [ESC] ou [Suppr] ou de [F1] à [F12] qui permet de choisir le medium de démarrage par la suite. Ici c'est [F12] dans mon cas. On éteint l'ordinateur qui va migrer s'il ne l'était pas déjà.

On est prêts pour l'installation

Installation

Étape 1 Démarrage !

Branchement de la clé sur l'un des ports USB.

Démarrer et appuyer aussitôt sur la touche [F12]

Choisir d'installer (démarrer archlinux)

Étape 2 Passage en azerty du clavier

loadkeys fr

Cette commande permet de changer la disposition du clavier qui par défaut est "us" et va passer en "fr". Comme pour l'heure le clavier est us il faut taper l o q d k e y s (espace) f r

Étape 3 Se connecter au grand vilain internet

Cette image est comparable à une image netinstall de chez Debian / Devuan : elle nécessite une connexion à internet pour télécharger les paquets etc..

Étape 4 Partitionnement du disque d'installation et formatage des partitions nouvellement formées

fdisk /dev/sda

1ère partition : bootable (a) de type (t) linux (83) primaire, au début de taille 40 G

2e partition : type (t) linux swap (82) primaire, taille 6 G

3e partition : type (t) linux (83) primaire taille : tout le reste

w

sync

mkfs.ext4 /dev/sda1

mkswap /dev/sda2

mkfs.ext4 /dev/sda3

Les partitions sont prêtes à être mountées dans le dossier.

Étape 5 Mountage du futur système dans un dossier temporaire

swapon /dev/sda2

mount /dev/sda1 /mnt

mkdir /mnt/home

mount /dev/sda3 /mnt/home

Étape 6 Installation du système de base pour le futur ordinateur

pacstrap /mnt base base-devel grub wpa_supplicant dialog

Étape 6-bis (variante) Installation complète du futur système

Je vais supposer qu'une installation complète implique l'installation de X (partie graphique) et d'un environnement de bureau, pour cela archlinux offre par défaut :

  • gnome
  • kde (paquet : plasma-desktop)
  • deepin
  • mate
  • xfce4
  • lxde
  • lxqt
  • openbox
  • ...

Mais avant de commencer on va taper une ligne pour faire connaissance avec les composants (la carte graphique principalement) de l'ordinateur et rechercher quelle carte graphique est à l'intérieur :

[anonymous@Tungsten ISOs]$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 03)

explications :

  • lspci pour liste les périphériques pci affiche une liste de nombreux périphériques internes de la machine (sauf ceux en USB)
  • le pipe | permet d'envoyer la sortie de la commande à gauche de lui dans une commande à droite
  • grep est une commande qui reçoit du texte et n'affiche que ce qu'on lui passe en option, ici je veux qu'elle affiche la ligne où figurera l'indication VGA

L'analyse rapide de cette sortir me dit que j'ai une carte graphique (VGA) de marque Intel, ensuite une recherche du paquet graphique pour cette carte intel va me donner le nom du paquet qu'il faudra installer :

[anonymous@Tungsten ISOs]$ pacman -Ss xf86 | grep video | grep intel
extra/xf86-video-intel 1:2.99.917+853+g0932a6b3-1 (xorg-drivers)

explications :

  • dans archlinux tous les paquets de pilotes pour le serveur X commencent par xf86 (les ancien·ne·s auront reconnu xfree86)
  • grep video filtre les sorties pour ne garder que les pilotes vidéo
  • grep intel car dans le nom de la sortie de la commande lspci | grep VGA le mot Intel est apparu. Bien sûr il faut adapter cela à sa propre configuration ! Maintenant que c'est ok je décide d'installer

pacstrap /mnt base base-devel wpa_supplicant dialog xorg xf86-video-intel grub lxde lxdm

Il n'y a plus qu'à aller boire un café, une tisane ou faire sa lessive le temps que ça s'installer.

Étape 7 Générer le fichier fstab de la future installation.

la future installation se trouve toute entière mountée dans le dossier /tmp on va donc créer le fichier /etc/fstab au bon endroit :

genfstab -pU /mnt > /mnt/etc/fstab

explication :

  • -pU équivaut à -p -U : -p veut dire qu'on retire du résultat tous les pseudo-systèmes de fichiers (tmpfs et loop) et le -U (en majuscule) indique d'utiliser les UUID au lieu des notations /dev/sdxxx
    • L'avantage des UUID c'est que si par mégarde un périphérique est reconnu une fois de temps en temps autrement que par l'ordre habituel, grub s'en fichera car il identifiera les périphériques par leur IDentifiant Unique Unifié (?)
  • /mnt : c'est là qu'est la racine de notre futur système
  • ">" signifie que la sortie de ce résultat sera directement écrite dans le ficher désigné après ce symbole, et si le fichier n'est pas vide il sera écrasé par ce qui va lui être envoyé.
  • /mnt/etc/fstab car le fichier /etc/fstab du futur environnement est dans l'environnement accroché dans /mnt

Étape 8 Chroot vers le nouvel environnement.

L'opération du chroot (cruciale aussi lors des installations) est assez ... merdique. Il faut mounter plusieurs points du systèmes, certains d'une certaine façon d'autre autrement, c'est la partie que je n'aime pas mais... sur arch ils ont créé un script ou un programme qui fait quasiment cela tout seul arch-chroot :

Variante 1 : en utilisant arch-chroot

Variante 2 : à l'ancienne via chroot

Étape 9 Définition de la nouvelle zone horaire du futur système et de l'heure

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

note : vous pouvez aussi le faire par timedatectl set-timezone Europe/Paris

note 2 : à l'étape 2 on peut aussi régler la date et l'heure du système avant de commencer les réjouissances par timedatectl set-timezone Europe/Paris puis timedatectl set-ntp 1 puis hwclock --systohc --utc

Étape 10 Définition du clavier en mode textuel de la future installation

echo KEYMAP=fr > /etc/vconsole.conf

ce qui est suffisant mais on peut être plus précis par :

echo KEYMAP=fr-latin9 > /etc/vconsole.conf

le fichier /etc/vconsole.conf est typique d'une installation avec systemd ...

on peut ajouter la police du mode terminal par :

echo FONT=lat9w-16 >> /etc/vconsole.conf

(vous aurez noté le >> indiquant que cette ligne vient s'ajouter à la fin du fichier)

Étape 11

Étape 12

Étape 13

Étape 14

Étape 15

Étape 16

Étape 17

Étape 18

Étape 19

Étape 20

Au final ...