Installation d'un Raspberry Pi avec ArchLinux

Dans ce tutoriel, nous allons voir comment installer simplement un système GNU/Linux, ALARM, sur un Raspberry Pi. Cela ne prend que quelques minutes pour avoir un système léger prêt pour tout type de projet.

Sommaire de l'article

Présentation du Raspberry Pi



Photographie d'un Raspberry Pi modèle B



Le Raspberry Pi (aussi appelé affectueusement Raspi) est un tout petit ordinateur. Il fait la taille d'une carte à puce mais reste pas moins suffisamment performant pour bien des choses ! :-D
Il embarque un System on Chip (SoC ou encore système sur une puce) produit par Broadcom, le BCM2835. Un SoC rassemble en une seule puce tout ce qu'il faut pour l'ordinateur en lui-même (d'où le nom de système sur une puce) :
  • un CPU ARM11 avec support Jazelle1, cadencé à 700MHz par défaut2 ;

  • une puce graphique VideoCore4 (GPU pour de l'affichage 2D et 3D, VPU pour du traitement vidéo en hardware comme de la décompression vidéo, etc) ;

  • 256 ou 512Mo de RAM (selon le modèle) ;

  • ...


Si le CPU est relativement lent, suivant un vieux jeu d'instruction armv6, le VideoCore4 est quant à lui très intéressant. En effet, non content d'afficher des vidéos en 1080p à 30 images par seconde, il permet aussi de jouer à des jeux en 3D de façon très honorable. Le célèbre Quake III tournant en 1080p n'est qu'un exemple ! Pour 35€ environ l'ordinateur (carte mère seule), cela reste très satisfaisant. :-)

Raspberry Pi Booting And Running Quake 3 Demo from TheDevilOnHoliday

The Raspberry Pi booting into Debian Linux and running Quake 3, followed by shut down.

OS and files stored on a standard 8GB SD card.

Video captured from composite video using an EasyCap D60+ USB stick.

No audio recorded - no sound in Quake 3 working yet. I will post a video with sound when I get the sound working :)

This is the demo version of Quake 3. The full version with Internet gameplay works just as well.

This Pi is running the April 2012 release of Debian.

More information on Raspberry Pi:
http://www.raspberrypi.org/



Le Raspberry Pi peut faire tourner différents systèmes d'exploitation, en particulier des systèmes GNU/Linux sur lesquels nous allons nous attarder. Il en existe d'autres comme RISC OS ou encore BSD.

De part ses qualités (prix, absence de bruit, performances convenables, taille, GPIO...), le Raspberry Pi peut avoir tout un tas d'utilités. Que ce soit pour apprendre, l'utiliser comme serveur, "ordinateur de poche", console de jeux, équipement hardware... les cas ne manquent pas ! ;-)

1 L'extension Jazelle permet l'exécution de bytecode Java en hardware.
2 Le CPU est overclockable jusqu'à 1000MHz.


ArchLinux ARM ou ALARM


Le Raspberry Pi fait tourner différents systèmes GNU/Linux qui lui ont été adaptés : Debian, Fedora, ArchLinux. Pour ce tutoriel, nous allons nous intéresser à ArchLinux, un système que je connais bien depuis plus de deux ans.
Pourquoi ArchLinux ? Parce qu'il propose un système très simple (juste la base), il suffit d'y installer alors ce qu'on souhaite, sans avoir à virer ce qu'on ne veut pas. Je pense notamment à LXDE ou XFCE qu'offrent Raspbian et Pidora par défaut et qui sont mal adaptés au Raspberry Pi...

ArchLinux n'a donc aucune interface "graphique", pas même le serveur X11, par défaut. On se retrouve face à une console pure et dure. Le système n'est que plus léger et réactif.
Tout est à installer selon ses goûts et ses besoins dans l'immense bibliothèque de paquets. Enfin, c'est une distribution dite en rolling release. Il n'existe pas de versions dans ArchLinux, les mises à jour sont continuelles.

La distribution s'appuie sur son excellent gestionnaire de paquets Pacman.
Voici quelques commandes utiles :
  • Mises à jour du système : pacman -Syu

  • Mise à jour de la liste de paquets : pacman -Syy

  • Installer un paquet : pacman -S

  • Désinstaller un paquet : pacman -Rsn

  • Lister les paquets inutiles : pacman -Qdt

  • Rechercher un paquet : pacman -Ss



Une particularité d'ArchLinux est de proposer un dépôt annexe, nommé AUR (Arch User Repository). Ce dépôt ne contient pas que des paquets précompilés, les sources sont très souvent téléchargées et compilées. Téléchargement, recherche des dépendances et compilation se font automatiquement par le gestionnaire yaourt. L'utilisateur n'a qu'à valider l'installation, comme il le ferait pour installer des paquets classiques (yaourt est très puissant et peut être utilisé à la place de pacman). Voir https://aur.archlinux.org/?setlang=fr .

Yaourt s'utilise de la même façon que pacman : yaourt -Syu, yaourt -S ... , yaourt -Ss ...
PS: pour utiliser yaourt, il est conseillé de ne pas le lancer en super-utilisateur. Rester avec son compte habituel.

Installer un OS sur la carte SD


Lancer les commandes suivantes sous un PC à système Linux (ou compatible) en root :

  1. Démonter toutes les partitions de la carte (adapter selon la carte)

    1. umount /dev/mmcblk0p1
    2. umount /dev/mmcblk0p2


    Les mmcblk0px sont peut-être spécifiques à ArchLinux. Sous des systèmes comme Debian ou Ubuntu, ils peuvent s'appeler /dev/sdb0, /dev/sdb1, etc...


  2. Copier l'image disque de la distribution sur la carte (adapter à la distribution) à l'aide de la commande dd.

    • Écrire des blocs de 4Mo

    • Input file : l'image disque

    • Ouput file : rediriger le flux de sortie vers la carte SD



    1. dd bs=4M if=archlinux-hf-2013-02-11.img of=/dev/mmcblk0



  3. Flusher (pour éviter que des blocs de données restent dans le cache sans être sur la carte...) avec la commande sync.




Faire un backup de la carte SD


Parfois on peut vouloir sauvegarder l'état de sa carte avant une manipulation périlleuse, un peu à la manière d'une image disque Windows pour le restaurer plus rapidement. Dans ce cas, c'est facile et ça se fait en quelques commandes sur son PC Linux.
  1. Démonter les partitions de la carte SD (adapter selon la carte)

    1. umount /dev/mmcblk0p1
    2. umount /dev/mmcblk0p2


  2. Copier l'image disque avec des blocs de taille 4Mo (adapter selon la carte)

    1. dd if=/dev/mmcblk0 of=/ou/on/veut.img bs=4M



Il suffira de la réécrire comme vu en partie "Installer un OS sur la carte SD".


Mise en place du système ArchLinux ARM


ArchLinux propose un wiki dont les explications sont précises et simples à suivre. Les informations suivantes sont en partie inspirées de ce wiki : http://wiki.archlinux.fr/Accueil .

Configuration

Avant d'insérer la carte SD, procéder éventuellement à quelques modifications de la configuration...
La partition de boot (la plus petite d'une centaine de Mo) contient un fichier config.txt.
Décommenter la ligne disable_overscan=1 pour pouvoir utiliser la totalité de l'écran (si écran HD).
Régler la quantité de mémoire pour le GPU selon les besoins (cette mémoire est prise des 512Mo de RAM !!).

Présentation succinte du système ArchLinux

ArchLinux ne dispose d'aucune interface graphique à l'installation, ce qui rend le système très léger et avec un poids très réduit sur la carte SD (il n'utilise que 450Mo, ce qui laisse 6.5Go d'espace sur une carte SD de 8Go). Tout se passe en ligne de commande, mais un environnement graphique peut être installé facilement (serveur graphique X11, gestionnaire de fenêtres, navigateur web, etc).
Deux éditeurs de texte sont disponibles dès le démarrage du Raspberry Pi : vi et nano. nano peut sembler plus simple à prendre en main.

À l'installation, l'image disque ne prend pas plus de 2Go sur la carte SD, même si elle est plus grande. Il faut augmenter la taille des partitions manuellement.
Pour se simplifier la tâche, installer gparted sur un PC sous Linux (gparted est un éditeur de partitions graphique).
Étendre la partition 2 puis la partition 5 et valider les opérations.

Utilisateurs

Le compte par défaut en root :

  1. Identifiant : root
  2. Mot de passe: root


À la connexion, modifier le mot de passe du super-utilisateur avec la commande passwd.
Ajouter un nouvel utilisateur (non root) avec la commande useradd -g users -m -s /bin/bash . Le dossier /home/ est créé automatiquement et peut contenir les fichiers de l'utilisateur.
Définir le mot de passe de l'utilisateur en tapant passwd [nom_utilisateur].

Changer la langue (mettre le système en français)

Par défaut, le système est intégralement en anglais, clavier compris (QWERTY).
Commencer par le configurer en AZERTY via la commande loadkeys fr (taper "loqdkeys fr").
Pour que le clavier soit automatiquement en AZERTY au démarrage, éditer (créer) le fichier /etc/vconsole.conf :

  1. KEYMAP=fr-pc


Pour avoir les programmes traduits en français, il faut faire quelques opérations supplémentaires.
Éditer le fichier /etc/locale.gen et décommenter la ligne fr_FR.UTF-8 UTF-8 (et éventuellement la ligne en_US.UTF-8 UTF-8).
Lancer la commande locale-gen pour générer les fichiers des locales choisies (patienter un petit moment).
Pour pouvoir utiliser les bons fichiers de locale (et donc avoir le système dans la langue voulue), éditer le fichier /etc/locale.conf comme suit :

  1. #Spécifier fr par défaut
  2. LANG="fr_FR.UTF-8"
  3. #Préférer l'anglais à la langue par défaut si la traduction fr n'existe pas
  4. LANGUAGE="fr_FR:en_US"
  5. #Mais garder un tri par défaut
  6. LC_COLLATE=C


Services inutiles

Bien que ArchLinux soit épuré, certains services peuvent être inutiles. À chacun de voir selon ses besoins, attention aux manipulations hasardeuses !

ArchLinux utilise systemd pour gérer les services, ce qui se fait via la commande systemctl.
Pour voir la liste des services, lancer systemctl list-units. Presser "q" pour quitter.

Le service ntpd (Network Time Protocol Daemon) permet de récupérer l'heure depuis internet. Le Raspberry Pi n'a pas de pile pour maintenir une RTC3, et oublie la date et l'heure à chaque arrêt. Connaître la date n'a pas beaucoup d'intérêt. Pour enlever le service, lancer la commande systemctl disable ntpd.

De même, le client dhcpcd (Dynamic Host Configuration Protocol) n'est pas forcément des plus utiles selon les cas. L'enlever avec systemctl disable dhcpcd.

Rebooter le Raspberry Pi avec reboot .
La séquence de boot devrait être plus rapide sans ces deux services.

3 Real-Time Clock


Voilà ! ArchLinux est installé et prêt à être utilisé comme voulu !

0 commentaire

Ajouter un commentaire

Les commentaires sont verrouillés pour cet article.

Me connecter

Trou de mémoire ?
S'inscrire illico !