by Haruka :: 2013/02/22 :: 9 min read
#cli #tests #raspberry-pi

Raspberry Pi - Raspbian ou ArchlinuxARM ? (MAJ)


MAJ 21.02.2013 : Nouveau benchmark et ajout d’un “sommaire”.

MAJ 26.10.2012 : Suite au commentaire d’Ealrann, j’ai refait un benchmark sur mes deux Raspberry Pi. Pour l’occasion j’ai réinstaller Archlinux ARM avec l’ISO le plus récent. D’ailleurs depuis mon dernier benchmark, Archlinux ARM utilise le hard-float (armhf) tout comme Raspbian.


Liste de benchmarks :

31.08.2012

26.10.2012

21.02.2013

Si vous souhaitez en savoir plus sur ArchLinux je vous renvoie aux articles qui lui sont dédiés en cliquant ici.

Quant à Raspbian, il s’agit d’une distribution élaborée par la communauté et entièrement dédiée au Raspberry Pi. Elle est basée sur une Debian mais intègre de nombreux tweaks (du kernel entre autre) qui améliorent grandement les performances du Raspberry Pi.

Raspbian utilise l’architecture armhf. Debian utilise armel. La différence est semblable à la différence entre l’architecture i386 et i686. Je vous laisse découvrir plus d’informations et un benchmark de ces deux architectures en cliquant ici.

p3ter.fr - raspbian vs archlinux

Installation

Commencez par télécharger une image officielle en cliquant ici. Vous pourrez y trouver Raspbian (armhf), Debian (armel), ArchlinuxARM et QtonPi (une distribution dédiée au développement QT).

Une fois téléchargée vérifiez l’intégrité de l’archive zip. Récupérez le checksum sur la page downloads et mettez le dans un fichier. Placez l’archive dans le même dossier que ce fichier. Ensuite utilisez la commande sha1sum. Voici un exemple complet :


echo "8ca812dfb7f68156869a59a2c511d3eccd118da0" > CHECKSUM
sha1sum -c CHECKSUM
unzip 2012-07-15-wheezy-raspbian.zip
df -h #repérer la carte SD

#attention la commande suivante réalise un formatage, toutes les données sont perdus
sudo dd bs=1M if=2012-07-15-wheezy-raspbian.img of=/dev/sdb #remplacer sdb par le résultat de df -h
sudo sync
sudo sync #une deuxième fois

La carte SD est partitionnée en deux. La première partition contient le firmware et la deuxième contient l’OS. Seulement cette dernière ne s’étend pas sur toute la carte SD. Le plus simple est de lancer un GParted Live dans une VM pour agrandir la seconde partition. Mais si vous utiliser Raspbian, l’outil de post-installation déjà intégré (sudo raspi-config) vous permet de réaliser cette opération.

Une connexion SSH est configurées par défaut. Lancer un “nmap -sP 192.168.0.0/24 (par exemple) pour retrouver l’adresse IP de votre Raspberry Pi. Les login/mot de passe sont sur la page downloads.

Benchmark

Le Script

Pour ce petit benchmark de Raspbian et ArchlinuxARM j’ai écrit un script bash qui va lancer trois commandes. La première va pousser le CPU à réaliser un calcul complexe et la commande time va permètre de mesurer le temps de calcul. La deuxième commande mesure le débit de lecture sur le disque et la troisième le débit d’écriture. Les résultats sont écrits dans un fichier de log horodaté.

Pré-requis pour ArchlinuxARM : hdparm, bc

Pré-requis pour Raspbian : bc

Dans le script READCOMMAND est la variable qui va utiliser la commande hdparm. Vous devez modifier le device par rapport a votre contexte. Pour un Raspberri Pi, j’ai déjà mis la commande il suffiit de la décommenter et de commanter l’autre (/dev/sda)


wget --no-check-certificate https://raw.github.com/P3ter/Desktop/master/Scripts/benchmark.sh
chmod +x benchmark.sh #éditer le script à la variable READCOMMAND
./benchmark.sh #à lancer en root

Les Résultats

31.08.2012

Le script a été lancé 3 fois à des moments différents de la journée sur les deux Raspberry Pi. Par ailleurs, Raspbian a par défaut un environnement graphique sous LXDE, qui au moment du benchmark est démarré. En revanche ArchLinux ne propose pas d’installation de X.Org, c’est le principe de cette distribution qui par défaut ne propose que le strict minimum (et à chacun d’installer ensuite ce qu’il veut). Ces éléments ont leur importance, il faudra en tenir compte pour tirer les conclusions du benchmark.

p3ter.fr - raspbian vs archlinux

Coté CPU, c’est ArchLinux qui sent sort mieux, mais attention, je vous rappel que les deux distributions ne sont pas sur le même pied d’égalité, puisque Raspbian fait tourné un environnement graphique sous Openbox et LXDE, tandis que ce n’est pas le cas sous ArchLinux. En revanche coté I/O la différence est énorme. C’est le fruit, des améliorations apportées par la fondation Raspberry Pi sur la gestion de la mémoire et sur le système de fichier. En terme d’I/O Raspbian est 10 fois plus rapide qu’ArchLinux ARM.

Donc, pour ma part ce sera Raspbian, pour ses performances et son outil de post-installation.

26.10.2012

Le script est aussi lancé 3 fois. Cette fois sur Raspbian, tout l’environnement graphique a été désinstallé et les services tiers arrêtés (en l’occurence Shinken). Archlinux a été réinstallé pour bénéficier de l’architecture armhf.

p3ter.fr - raspbian vs archlinux

Cette fois les résultats sont très proches. La tendance est renversé, coté CPU, Archlinux affiche un gain de 5 secondes par rapport à Raspbian et un débit d’écriture légèrement plus rapide. Raspbian quant à elle, surpasse légèrement Archlinux sur le débit de lecture.

La différence coté Archlinux est flagrante par rapport au benchmark précédent. Les résultats sont bien meilleurs et équivalents à ceux de Raspbian. On notera tout de même que coté CPU Raspbian fait un résultats légèrement en basse par rapport au benchmark précédent.

Les deux distributions sont désormais équivalentes en performance. C’est donc leurs spécificités, leurs philosophies et leurs communautés qui feront la différence. Pour ma part, mes deux Raspberry Pi seront sur Raspbian pour une configuration serveur et je prévois d’acheter le nouveau modèle avec 512Mo de RAM pour me faire un desktop sous Archlinux.

21.02.2013

Pour ce nouveau benchmark, mes deux Raspberry Pi sont à jour avec la dernière version du noyau Linux disponible, à savoir la 3.6.11. Pour rappel, Raspbian et ArchLinux sont tout deux des distributions ARM avec Hard Float. Avant de lancer le script de benchmark, j’ai pris soin d’arrêter tous les services tiers (redmine, nginx, mysql, etc). De plus, l’environnement graphique de Raspbian est désinstallé.

p3ter.fr - raspbian vs archlinux

Les résultats sont toujours aussi proches entre Raspbian et ArchLinux. L’écart avec le benchmark précédent est faible. On notera que ArchLinux conserve une légère avance sur les performance CPU et a rattrapé Raspbian coté lecture disque.

Quelques astuces

Le firmware est très simple à mettre à jour, grâce au script rpi-update disponible ici.

Attention : la mise à jour du firmware peut causer des problèmes à votre Raspberry Pi. N’installez pas de nouveau firmware dès sa sortie, je vous recommande de patienter quelques semaines pour laisser le temps à la correction éventuelle de bugs.

Raspbian


sudo -i #devenir root
apt-get install ca-certificates wget git-core binutils #installation des dépendances
wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update
rpi-update #lancer l'installation du firmware

apt-get update
apt-get  dist-upgrade
init 6 #redémarer

Par ailleurs, Raspbian propose un script de post-installation : rpi-config. Ce dernier permet, par exemple, d’overclocker le CPU, de définir le split memory (mémoire RAM partagé entre le système et le GPU), ou encore d’étendre la partition / sur tout le support flash.

ArchLinux ARM, vous n’êtes pas obligé d’utiliser rpi-update, car un simple pacman -Syu installera le firmware depuis les dépôts officiels. Cette méthode est recommandée, car le firmware sera installé dans une version stable et testée, alors que rpi-update utilise directement les sources.


su - #devenir root
pacman -Syu ca-certificates git-core binutils
wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update
rpi-update #lancer l'installation du firmware

pacman -Syu
reboot #redémarer

Par ailleurs vous pouvez installer votre propre image de Raspbian (par exemple, pour avoir un serveur web ou ne pas installer le desktop). La procédure est expliquée ici et consiste à utiliser un ISO d’installation de Raspbian, de la même manière que vous installerez une Debian.

github : https://github.com/raspberrypi

wiki raspbian : http://www.raspbian.org/

photos : http://www.sotechdesign.com.au/raspberry-pi-has-arrived/