27 mai 2013

Raspberry Pi & Arch Linux

Voici les premiers pas pour configurer un raspberry pi en utilisant Arch Linux ARM.
IMPORTANT: Utiliser une alimentation de 1 Ampère (1000 mA) minimum. Celle vendue sur le site de Raspberry fait 1200 mA. Eviter les chargeurs de téléphones, ou le port USB d'un autre ordinateur.
Il existe plusieurs distrib linux utilisables sur un raspberry pi.
On les trouve ici: http://www.raspberrypi.org/downloads

Ce qui suit est valable pour Arch Linux ARM.
J'ai choisi cette distrib car je n'ai pas besoin d'interface X.

Le compte root de cette image Arch Linux ARM est root/root
Attention le clavier par défaut est anglais ! Donc, la premiere chose à faire, avant de changer le mot de passe root, est de passer en clavier francais.


A) CLAVIER FANCAIS

1) Verifier les keymaps disponible
  find /usr/share/kbd/keymaps/ -name fr*

2) Tester le meilleur mapping pour votre calvier
  loadkey fr-pc
ou
  loadkey fr-latin1
ect...

3) Quand on a trouvé le bon mapping éditer /etc/vconsole.conf  et mettre à jour la variable KEYMAP
KEYMAP=fr-pc
ou
KEYMAP=fr-latin1
ect...

Voir aussi: https://wiki.archlinux.org/index.php/KEYMAP

4) Changer le mot de passe root:  passwd

5) rebooter pour verifier que c'est OK :  reboot

Avec Arch linux le reboot prend 15 secondes !


B) RESEAU

Par defaut la config réseau de Arch Linux utilise DHCP, ce qui n'est pas pratique pour un serveur.

1) Donner une adresse IP statique à l'interface eth0 :
Arch utilise  systemd  pour controler le demarrage du systeme.
Dans  /etc/systemd/system/multi-user.target.wants  on trouve le fichier
  netcfg@ethernet-eth0.services
qui est en fait un alias de /usr/lib/systemd/system/netcfg@.service

Si on regarde ce fichier on voit que la configuration est faite par:
  /usr/bin/netcfg check-iface %i
%i represente ce qu'il y a après le @ dans le nom du fichier, dans notre cas "ethernet-eth0"

Voir aussi: https://wiki.archlinux.org/index.php/Netcfg

2) Editer  /etc/network.d/ethernet-eth0

CONNECTION='ethernet'
DESCRIPTION='A basic static ethernet connection using iproute'
INTERFACE='eth0'
IP='static'
ADDR='192.168.0.2'
GATEWAY='192.168.0.1'
DNS=('8.8.8.8' '8.8.4.4')


3) Editer  /etc/conf.d/netcfg

NETWORKS=("ethernet")
WIRED_INTERFACE="eth0"
 

Attention: ne pas éditer /etc/resolv.conf car netcfg l'écrase à chaque demarrage.
  
Voir aussi: https://wiki.archlinux.org/index.php/Network_Configuration

On reboote pour voir si tout s'initialise correctement.
Si tout est ok, on va pouvoir utiliser une session SSH pour se connecter au raspberry.
Note: Pour configurer le daemon ssh (changer le port, desactiver ipv6 ...) c'est dans /etc/ssh/sshd_config


C) CONFIGURATION

(Des)installer les packages (in)utiles. Arch Linux utilise le logiciel "pacman" comme gestionnaire de packages.
  • Mettre à jour la liste des packages dispo : pacman -Syy
  • Mise a jour de tous les packages :  pacman -Syu
  • Voir ce qui est installé :  pacman -Q
  • Installer un package :  pacman -S package_name
  • Supprimer un package :  pacman -R package_name
Si votre raspberry n'est pas 'online' vous pouvez télécharger les packages ici  http://mirror.archlinuxarm.org/armv6h/  et les installer manuellement avec la commande :
pacman -U /path/to/package_name-version-armv6h.pkg.tar.xz
Voir aussi : https://wiki.archlinux.org/index.php/Pacman


D) BACKUP

Une fois tout installé et configuré il est bon de faire une sauvegarde de la carte flash. Une solution trés simple consiste à arreter le raspberry, extraire la carte et en faire une copy physique avec le logiciel (windows)
http://hddguru.com/software/HDD-Raw-Copy-Tool/ Ce logiciel est capable de dupliquer plusieurs types de supports y compris les cartes mémoire. Bien sur il permet aussi de restorer une sauvegarde.