Arch Linux sur un Raspberry Pi
Cet article décrit l'installation de Linux Arch sur une carte Rasberry Pi. Je me suis inspiré de nombreux articles disponibles sur le web (références dans la partie « liens » à la fin de l'article).
Flashage d'une carte SD
Cette étape consiste à écrire l'image binaire de Linux Arch Arm sur une carte mémoire SD que l'on insérera dans le Raspberry Pi pour démarrer dessus.
Téléchargez une image bootable :
- pour Raspberry Pi ;
- pour Raspberry Pi 2 ;
Suivre à la lettre les instructions de ce site : SD Card Creation
Boot du Raspberry
Ejectez la carte SD et insérez la dans le connecteur adéquat de la Raspberry pi (RBPI).
On se connecte au RBPI par réseau en ssh sur le compte alarm (mot de passe alarm) :
$ ssh alarm@<ip>
$ sudo su
#
Modification de la configuration
Modifiez le fichier /boot/config.txt en y ajoutant les lignes suivantes qui dépendent du modèle de Raspberry Pi.
- pour les Raspberry Pi A et B :
device_tree=bcm2708-rpi-b.dtb
- pour les Raspberry Pi A+ et B+ :
device_tree=bcm2708-rpi-b-plus.dtb
Assignation d'ne adresse IP fixe
Déterminez le nom de l'interface réseau :
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b8:27:eb:e2:08:a3 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.137/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::ba27:ebff:fee2:8a3/64 scope link
valid_lft forever preferred_lft forever
On voit ici que le nom de l'interface est eth0.
Créez le fichier /etc/systemd/network/eth0.network avec ce contenu :
[Match] Name=eth0 [Network] Address=192.168.1.55/24 Gateway=192.168.1.1
Et redémarrez le service systemd-networkd.service :
systemctl restart systemd-networkd.service
Création d'un utilisateur
Admettons que l'on veuille créer l'utilisateur franck par exemple :
# useradd -m -g users -s /bin/bash -G audio,disk,wheel franck
Clé publique ssh
Pour éviter d'entrer à chaque fois son mot de passe de connexion, copiez votre clé publique ssh dans votre compte sur la raspberry pi (à exécuter sur la machine hôte) :
$ ssh-copy-id franck@<adresse ip du raspberry pi>
Nom de la machine
Modifiez son nom dans le fichier /etc/hostname.
Mise à jour des packages
Maintenant qu'on peut se connecter au RBPI en utilisant ssh, on peut lancer une mise à jour du système :
# pacman -Syu
S'il existe des fichiers de configuration, ils ne sont pas écrasés et les nouveaux fichiers sont nommés avec une extension .pacnew.
Mise à l'heure
Installation du package :
# pacman -S ntp
Paramètrage du fuseau horaire :
# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
Démarrage du serveur de temps :
# systemctl enable ntpd.service
# date
Mon Jul 14 01:30:48 CEST 2014
Son
Installez alsa-utils :
# pacman -S alsa-utils
Sélectionnez la sortie audio :
# amixer cset numid=3 s
où s vaut :
- 0 : detection automatique
- 1 : sortie jack de la carte
- 3 : HDMI, c'est à dire les haut-parleurs du téléviseur
Ensuite, on peut tester la sortie audio sélectionnée :
# speaker-test -t sine -f 440 -c 2
Sudo
Afin de permettre aux utilisateur de passer root pour exécuter des commandes, modifiez le fichier /etc/sudoers :
# pacman -S sudo
# visudo
et décommentez la ligne suivante, sachant les les simples utilisateurs font partie du groupe wheel :
## Uncomment to allow members of group wheel to execute any command %sudo ALL=(ALL) ALL
Installation de Python
Python n'est pas présent de base, il faut donc l'installer :
# pacman -S python
# pacman -S python-pip
# pacman -S python-virtualenv
Désormais, la gestions des packages Python se fera exclusivement avec pip.
Réseau en wifi
On ne va pas monopoliser le téléviseur pour le RBPI, on va donc s'y connecter en ssh par wifi.
Je possède une clé USB wifi qui a déjà fait ses preuves sur un ordinateur portable, je l'insère donc dans le dernier connecteur USB.
# lsusb
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Générez un profil de connexion :
# wifi-menu -o
cela crée un fichier de profil dans le répertoire /etc/netctl. Enfin, pour permettre la connexion au wifi au démarrage, il faut créer un service de systemd :
# netctl enable <profil>
et juste pour la première fois, on démarre le wifi à la main :
# netctl start <profil>
Pour assigner une adresse IP statique, vous pouvez modifier le fichier /etc/netctl/<profil>.conf, remplacez :
IP=dhcp
par (adaptez les adresses à votre cas personnel) :
IP=static Address=('192.168.1.220/24') Gateway='192.168.1.1' DNS=('212.27.40.240')
Liens
Configuration :
Arch Linux sur Raspberry Pi :
- Archlinux sur Raspberry Pi
- Archlinux ARM downloads
- archlinux Raspberry Pi
- Archlinux ARM
- Arch linux sur Raspberry Pi : installation
- Beginner’s Guide to Arch Linux on the Raspberry Pi
Raspberry Pi :
Communication :
Flashage :
- Maintenir la framboise314 à jour, rpi-update pour Raspberry Pi
- Raspberry Pi – Comment mettre à jour le firmware ?
Slackarm :