Arch Linux ARM

Arch Linux ARM v6, v7 et v8 – Installation sur Raspberry Pi 1, 2 et 3

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.

La version Arch Linux ARM est dédiée à l’architecture ARM. Il s’agit d’un fork d’Arch Linux car celui-ci ne supportait que l’architecture x86 et AMD64.

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, 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

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):
    1. 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.
      
    2. 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.
    3. 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)'.
    4. 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.
    5. 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
      
    6. 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 :
    $ wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
    $ bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C root
    $ sync
    $ wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
    $ bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
    $ sync
    $ wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz
    $ bsdtar -xpf ArchLinuxARM-rpi-3-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

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.

… si vous vous connectez via SSH

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

… si vous vous connectez directement sur la console de votre Rpi

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 système

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

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

3 réponses
  1. Bon
    Bon dit :

    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

    Répondre

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

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