Arch Linux ARM v6, v7 et v8 – Installation sur Raspberry Pi 1, 2, 3 et 4
La version Arch Linux ARM est dédiée à l’architecture ARM pour les nano ordinateurs (Raspberry Pi). Il s’agit d’un fork d’Arch Linux car celui-ci ne supporte que l’architecture x86 et AMD64.
Arch Linux est une distribution légère et rapide dont le concept est de rester la plus simple possible (philosophie KISS). Arch Linux a été conçue pour être le système d’exploitation parfait pour les utilisateurs avancés. Sa philosophie, sans artifice et sans outil de configuration, est très proche de Slackware dans le sens où elle requiert un certain niveau de connaissances pour être installée, mais elle reste toutefois simple à maintenir.
Elle supporte des plateformes 32 bits de très faible puissance de calcul en ARMv5 (Pogoplug), ARMv6 (Raspberry Pi), mais également des plateformes avec des processeurs plus récents, ARMv7 (Raspberry Pi 2, BeagleBoard, Cubieboard, ODROID-X, PandaBoard, TrimeSlice, Samsung Chromebook, …) ou de dernière génération ARMv8 en 32 et 64 bits (Raspberry Pi 3 et 4, Juno, …).
1 – Prérequis
- Il est recommandé d’avoir une carte SD d’une capacité égale ou supérieure à 4GB.
- Vous devez disposer d’un accès root (sur le système où la carte SD sera formatée et installée).
-
Vous devez disposer d’une version du paquet bsdtar supérieure à la 3.3 (sur le système où la carte SD sera formatée et installée). Pour connaître la version installée sur votre système, tapez la commande
bsdtar --help
2 – Installation de Arch Linux ARM
Dans les explications qui vont suivre, il vous sera parfois nécessaire d’adapter les commandes en fonction de votre environnement, notamment le nom de votre carte SD /dev/sdX.
Il est important de réaliser ces opérations en tant que root et non via la commande sudo.
-
Identifiez votre carte SD :
fdisk -l
-
Formatez votre carte SD :
fdisk /dev/sdX Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
-
Tapez o pour supprimer toutes les partitions de votre carte SD :
Command (m for help): o Created a new DOS disklabel with disk identifier Oxaf9bbd2d.
-
Tapez n, puis p (pour primary), puis 1 (pour 1ère partition sur la carte SD). Enfin tapez sur la touche Entrée pour accepter le premier secteur par défaut et tapez +100M pour définir le dernier secteur :
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-15954943, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-15954943, default 15954943): +100M Created a new partition 1 of type 'Linux' and of size 100 MiB.
-
Tapez t, puis c (pour une partition de type W95 FAT32 LBA) :
Command (m for help): t Selected partition 1 Hex code (type L to list all codes): c If you have created or modified any DOS 6.x partitions, please see the fdisk documentation for additional information. Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.
-
Tapez n, puis p (pour primary), puis 2 (pour 2ème partition sur la carte SD). Enfin tapez sur la touche Entrée deux fois pour accepter le premier secteur par défaut et le dernier secteur par défaut :
Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (206848-15954943, default 206848): Last sector, +sectors or +size{K,M,G,T,P} (206848-15954943, default 15954943): Created a new partition 2 of type 'Linux' and of size 7.5 GiB.
-
Tapez p pour lister toutes les partitions :
Command (m for help): p Disk /dev/sdc: 7.6GiB, 8168931328 bytes, 15954944 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: Oxaf9bbd2d Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 206847 204800 100M c W95 FAT32 (LBA) /dev/sdc2 206848 15954943 15748096 7.5G 83 Linux
-
Tapez w pour appliquer les changements et quitter l’utilitaire fdisk :
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
-
-
Créez et montez le système de fichiers FAT sur la première partition :
mkfs.vfat /dev/sdX1 mkdir boot mount /dev/sdX1 boot
-
Créez et montez le système de fichiers ext4 sur la deuxième partition :
mkfs.ext4 /dev/sdX2 mkdir root mount /dev/sdX2 root
-
Téléchargez la dernière version de Arch Linux ARM en fonction de votre architecture et décompressez le système de fichiers dans le répertoire root :
Raspberry 1 (Arch Linux ARMv6)
wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C root sync
Raspberry 2 (Arch Linux ARMv7 / Arch Linux ARMv8 32 bits)
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root sync
Raspberry 3 (Arch Linux ARMv8 64 bits)
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz bsdtar -xpf ArchLinuxARM-rpi-3-latest.tar.gz -C root sync
Raspberry 4 (Arch Linux ARMv8 64 bits)
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-4-latest.tar.gz bsdtar -xpf ArchLinuxARM-rpi-4-latest.tar.gz -C root sync
-
Déplacez les fichiers du répertoire root/boot sur la première partition :
mv root/boot/* boot
-
Démontez les deux partitions :
umount boot root
Vous disposez désormais d’une carte SD prête à l’emploi. Vous pouvez l’insérer dans votre Rpi (Raspberry Pi) et le démarrer.
3 – Configuration de l’environnement Arch Linux ARM
Vous avez deux solutions pour vous connecter à votre Rpi, à savoir via SSH si vous connaissez l’IP de votre Rpi ou directement via la console si vous disposez d’un clavier et d’un écran connectés à votre Rpi.
L’accès SSH via l’utilisateur root est désactivé par défaut. Vous devez vous connecter avec l’utilisateur alarm (mot de passe par défaut alarm).
-
Connectez-vous via SSH avec l’utilisateur alarm (mot de passe par défaut alarm) en remplaçant IP_RPI par l’IP de votre Raspberry Pi :
ssh alarm@IP_RPI
-
Basculez sur l’utilisateur root (mot de passe par défaut root) :
su
-
Spécifiez le nom réseau de votre Rpi :
echo rpi > /etc/hostname
Il est tout d’abord nécessaire de configurer le système en spécifiant notamment la disposition de votre clavier, votre fuseau horaire ou encore le nom réseau de votre Rpi :
-
Si vous disposez d’un clavier AZERTY, il est nécessaire de modifier la disposition par défaut de votre système :
loadkeys fr-pc
Le clavier par défaut étant le clavier QWERTY, il faut taper « loqdkeys fr)pc » sur un clavier AZERTY pour écrire effectivement « loadkeys fr-pc »
echo "KEYMAP=fr-pc" > /etc/vconsole.conf
-
Créez un lien symbolique /etc/localtime afin de choisir votre fuseau horaire :
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
-
Spécifiez le nom réseau de votre Rpi :
echo rpi > /etc/hostname
4 – Modification du mot de passe de l’administrateur Arch Linux ARM
L’une des premières choses à faire est bien évidemment de changer le mot de passe par défaut root. Pour cela, tapez la commande suivante et saisissez votre nouveau mot de passe :
passwd
5 – Ajout d’un nouvel utilisateur sur votre Arch Linux ARM
Pour des raisons évidentes de sécurité, il est conseillé d’ajouter et d’utiliser un utilisateur avec des privilèges limités :
-
Créez le nouvel utilisateur mon_user :
useradd -m -g users -s /bin/bash -G audio,games,lp,optical,power,scanner,storage,video mon_user
-
Définissez un mot de passe pour l’utilisateur mon_user :
passwd mon_user
6 – Installation du paquet sudo
Pour permettre à l’utilisateur mon_user de disposer des commandes réservées à l’administrateur système (l’utilisateur root), il est nécessaire d’utiliser l’outil sudo :
-
Installez le paquet sudo :
pacman -S sudo
-
Créez un groupe sudo et ajoutez l’utilisateur mon_user à ce groupe :
groupadd sudo usermod -a -G sudo mon_user
-
Editez le fichier /etc/sudoers en exécutant la commande suivante :
visudo
-
Localisez les lignes suivantes :
## Uncomment to allow members of group sudo to execute any command # %sudo ALL=(ALL) ALL
-
Décommentez la ligne suivante en vous plaçant sur le premier caractère « # » et tapez « x » pour le supprimer :
%sudo ALL=(ALL) ALL
-
Sauvegardez et fermez le fichier /etc/sudoers en appuyant sur la touche « Echap » suivi de « :wq » et de la touche « Entrée ».
7 – Suppression de l’utilisateur alarm
-
Fermez la session de l’utilisateur alarm :
pkill -KILL -u alarm
-
Connectez-vous avec votre utilisateur nouvellement créé (mon_user) directement en console ou via SSH.
-
Supprimez l’utilisateur alarm :
sudo userdel alarm
8 – Redémarrage du Rpi
Un redémarrage du Rpi finira de configurer votre système avec la commande :
sudo reboot
N’oubliez pas de vous connecter via l’utilisateur mon_user !
Testé sur Raspberry Pi B+Arch Linux ARMv6
Excellent.
Depuis le temps que je voulais supprimer l’utilisateur alarm sans prendre le temps de m’en occuper, voilà qui est fait.
Merci.
Super tuto !
Après quelques galères en tant qu’utilisateur de Mac OS pour préparer la carte SD j’y suis arrivé !
Merci.
Bonjour,
Voilà maintenant quelques années que je me suis mis votre tuto – https://howto.wared.fr/raspberry-pi-installation-arch-linux-arm-v6-v7-v8/#toggle-id-3-closed – sous la main pour installer proprement Archlinux sur un Raspberry Pi, dès que nécessaire.
Ce soir, …, cette nuit, je viens de le refaire : vous êtes géniaux. Le SSH configuré d’origine me permet de tout installer sans autre écran que celui du PC.
J’avais gardé au chaud votre tuto pour supprimer l’utilisateur alarm – plus sûr à mon sens. Tout se fait en quelques lignes.
Bref, Merci, Merci, Merci, Merci, ….. Me voilà avec un Archlinux tout propre sur Raspberry avec écran Tontec.
Bonjour les paramétrages et autres somptueuses découvertes d’Archlinux dans le train, le bus, et tout autre endroit où il est possible d’apprendre avec vous.
Merci encore.
Et continuez,
Très cordialement,
Jean Bon