= 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és. 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 identifié 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 pratique 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 disponibles. 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 système de fichiers différent de celui sur lequel on a démarré. A noter que l’on peut à ce moment là préciser d’autres paquets si on les connaît. 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 utile 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 creusé 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 changé 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élérera 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 oublié. 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.
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 🙂
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.
Tu m’as rincé ! Merci beaucoup 😉
Je viens de découvrir que mon tuto #2 ne s’affiche pas :… Je vais voir pour corriger ça tout de suite, comme ça tu peux continuer 😉