ARCHLINUX sur RASPBERRY Pi

Le Raspberry Pi est un ordinateur tout intégré au format carte de crédit. Son objectif premier est l’éducation, l’apprentissage de la programmation informatique et de l’électronique à un coût très accessible de 25€ à 35€. Au delà il offre beaucoup d’autres perspectives.

Pour le bidouilleur, ses avantages sont nombreux: prix, format réduit, faible consommation et assez d’entrées / sorties pour vous permettre de réaliser vos projets personnels dans des domaines variés: ordinateur personnel familial (bureautique, web …) - émulation - jukebox audio - media center - serveur de fichiers - plateforme de développement - VPN - auto hébergement - seedbox - électronique - automatisation de votre maison (domotique) - informatique embarquée …

Votre imagination et votre astuce seront mises à contribution.

Cette procédure vous permettra d’obtenir un système opérationnel de base. A vous de l’adapter, à vous de jouer.

Installation du Raspberry Pi

Reprise des éléments du Quick start guide. Pour installer votre Raspberry Pi vous avez besoin:

D’une carte SD de capacité minimum de 4Go et de classe >= 4 (la classe indique la vitesse de la carte). N’hésitez pas à prendre une carte de marque car elles sont plus fiables.

D’une connexion vidéo soit un cable HDMI vers HDMI pour les écrans HD, soit un cable HDMI vers DVI pour les moniteurs, soit un cable RCA pour les écrans analogiques (qualité la plus mauvaise). Pas la peine d’investir dans un cable coûteux.

D’un clavier et d’une souris se connectent sur les ports USB. Attention à la puissance pour les périphériques sans fils qui demandent un port USB alimenté. Dans ce cas un hub USB alimenté peut être requis.

D’un cable ethernet connecté sur votre routeur ou box pour la mise à jour et les services réseau.

D’une alimentation de bonne qualité par micro USB qui fournie au moins 700ma et 5V (chargeurs de mobiles, chargeurs USB, port alimenté d’un hub USB …). Vérifiez bien avant de brancher, ne pas utiliser en dessous de 5V. Pas de soucis si l’alimentation indique plus de 700ma.

D’un cable audio si vous n’utilisez pas de cable HDMI vers HDMI et que vous désirez du son, connectez un cable jack 3.5mm.

Installation d’Archlinux

Pourquoi Archlinux?

Archlinux est une distribution GNU/Linux adaptée et adaptable. Elle est légère, simple mais pas simpliste et possède une philosophie qui est la base de tous les choix de conception.

Les paquets sont déjà compilés pour faciliter l’installation même si il est possible de compiler à partir des sources. La mise à jour se fait par une publication continue — rolling release — garantissant les dernières versions de vos logiciels, le gestionnaire de paquets pacman étant un modèle du genre.

En complément des dépôts officiels, un dépôt communautaire permet aux utilisateurs de publier des ports, enrichissant le catalogue de logiciels déjà très exhaustif. Tous cela en maintenant l’intégrité de votre système.

Ce qui peut être perçu comme des freins sont en fait ses plus grandes forces: l’investissement dans l’apprentissage et l’adhésion à la philosophie d’Arch. Accompagnez par une documentation admirable, petit à petit, brique par brique, vous installerez, comprendrez et personnaliserez tous les aspects de votre système. Votre environnement sera complètement maitrisé et correspondra exactement à ce que vous voulez. Un voyage et un parcours initiatiques pour rejoindre une formidable communauté.

Archlinux est disponible pour la plateforme ARM et le Raspberry est totalement pris en charge.

Avertissement

Avant de lancer les commandes ci dessous, il est nécessaire de faire preuve d’une extrême prudence, de réfléchir avant d’exécuter ou de valider une action. Les systèmes UNIX considèrent que vous savez ce que vous faîtes (et c’est aussi pour cela qu’on les aime ^^).

Parcourez, lisez la documentation d’Archlinux. Tout est là à jour, précis, clair et détaillé: https://wiki.archlinux.org/

Installation sur la carte SD

Téléchargez Arch Linux ARM sur la page: http://www.raspberrypi.org/downloads

Vérifiez l’intégrité de l’archive en comparant son empreinte SHA-1 avec celle du site:

sha1sum /chemin_vers/archlinux-hf-YYYY-MM-DD.zip

Décompressez l’archive:

unzip /chemin_vers/archlinux-hf-YYYY-MM-DD.zip

Insérez votre carte SD dans votre lecteur et repérer comment est nommée la carte:

fdisk -l

Copiez l’image sur votre carte. Attention à ne pas vous tromper. /dev/sdX correspond au chemin vers votre carte SD.

dd bs=1M if=/chemin_vers/archlinux-hf-YYYY-MM-DD.img of=/dev/sdX

Premier démarrage

Insérez la carte dans votre Raspberry Pi, démarrez. Pour vous loguer entrez comme login root et password root.

Passez votre clavier en mode Français:

loadkeys fr

Changez le mot de passe root:

passwd root

Commencez par une mise à jour complète de votre système:

pacman -Syu

Langue et clavier Français

Fichier /etc/locale.gen, décommentez:

[...]
fr_FR.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
[...]

Fichier /etc/locale.conf:

LANG=fr_FR.UTF-8
LC_COLLATE=C

Installation de la police terminus

pacman -S terminus-font
setfont ter-v22n

Fichier /etc/vconsole.conf:

KEYMAP=fr
#FONT=lat9w-16
FONT=ter-v22n
FONT_MAP=8859-1_to_uni

Nom sur le réseau

Fichier /etc/hostname:

<nom de votre machine sur le réseau>

ou utilisez la commande:

hostnamectl set-hostname <nom de votre machine sur le réseau>

Création d’un utilisateur <nom>

useradd -m -g users -G wheel,storage,power -s /bin/bash <nom>
passwd <nom>

Activer le son sur la sortie jack 3.5

pacman -S alsa-utils

Fichier /etc/modules-load.d/sound.conf:

# Carte son
snd_bcm2835

Vérification:

cat /proc/asound/cards
aplay -l
alsamixer
speaker-test -c 2 -t wav

Privilèges d’administration et commande d’extinction

pacman -S sudo

Fichier /etc/sudoers, ajoutez:

[...]
<nom> ALL=(ALL) ALL
<nom> ALL = NOPASSWD: /sbin/shutdown
[...]

La première ligne permet à l’utilisateur <nom> de lancer toutes les commandes d’administration avec sudo. La deuxième ligne permet à l’utilisateur d’utiliser la commande shutdown sans devoir entrer son mot de passe. Exemple:

sudo shutdown -h now

Autologin, démarrage sur le compte utilisateur

Création d’un service autologin:

cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service

Modification du fichier /etc/systemd/system/autologin@.service:

[Service]
[...]
ExecStart=-/sbin/agetty --noclear -a <nom de l'utilisateur> %I 38400
[...]

[Install]
WantedBy=getty.target

Activez les services:

systemctl daemon-reload
systemctl disable getty@tty1
systemctl enable autologin@tty1
systemctl start autologin@tty1
systemctl enable multi-user.target

Commandes utiles

Nettoyez régulièrement les paquets téléchargés non utilisés pour libérer la place.

pacman -Sc

Pour sauvegarder votre système, faîte une image de votre carte SD.

Les vrais pros ne font pas de sauvegardes. Les vrais pros pleurent aussi parfois.

Attention à ne pas vous tromper: /dev/sdX correspond au chemin vers votre carte SD.

dd bs=1M if=/dev/sdX of=/chemin_stockage_image/<nom_de_votre_backup>.img

Compressez l’image depuis le répertoire /chemin_stockage_image/:

tar -zcvf <nom_de_votre_backup>.img.tar.gz <nom_de_votre_backup>.img

Si votre système est stocké sur une carte de capacité plus grande que 4Go, récupérez l’espace non utilisé en redimensionnant la deuxième partition de votre carte SD. Utilisez les outils parted ou gparted. https://wiki.archlinux.org/index.php/Gparted

Bonus - Montage avec udevil et devmon

udevil est un outil en ligne de commande qui permet de monter, démonter, des périphériques sans mot de passe. Il peut aussi monter des fichiers ISO, nfs://, smb://, ftp://, ssh://, urls WebDAV, les systèmes de fichiers tmpfs/ramfs. Il permet de remplacer udisks et comprend devmon un daemon qui gère le montage automatique.

http://ignorantguru.github.com/udevil/

pacman -S udevil

La sécurité et les autorisations se gèrent dans le fichier /etc/udevil/udevil.conf. Pour installer devmon en tant que service au démarrage:

wget https://raw.github.com/IgnorantGuru/udevil/master/etc/systemd/devmon@.service
wget https://raw.github.com/IgnorantGuru/udevil/master/etc/systemd/devmon
install -Dm644 devmon /etc/conf.d/devmon
install -Dm644 devmon@.service /usr/lib/systemd/system/devmon@.service
systemctl enable devmon@<nom utilisateur>

Bonus - Quelques recommendations

ssh: Pour l’administration à distance.

https://wiki.archlinux.org/index.php/Ssh

iptables: Création d’un firewall.

https://wiki.archlinux.org/index.php/Simple_stateful_firewall_HOWTO

yaourt, base-devel, package-query: Pour faciliter l’installation et la compilation à partir des dépôts utilisateurs AUR.

http://archlinux.fr/yaourt-en

tmux: Multiplexeur de terminaux, alternative à screen.

http://gerard.geekandfree.org/blog/2010/11/10/tmux-loutil-magique-pour-gerer-vos-terminaux-1/

mpd: pour jouer votre musique à travers le réseau.

https://wiki.archlinux.org/index.php/Mpd

omxplayer-git: Le lecteur de vidéo optimisé pour votre Raspberry Pi utilisable depuis le terminal, sans serveur graphique, en HD et via l’HDMI.

http://elinux.org/Omxplayer

ranger: Le gestionnaire de fichiers ultime en mode texte (et je suis modéré ^^).

http://nongnu.org/ranger/

vim ^^, htop, ntfs-3g

Bonus - Autres articles sur le sujet

Publié le 2013-03-08 sous licence libre Creative Commons CC BY-SA