Raspberry Pi - Raspbian ou ArchlinuxARM ? (MAJ)

vignette

Rédigé par P3ter - - 7 commentaires

Mes deux Raspberry Pi reçus, je vais pouvoir rédiger quelques articles sur ces deux petits ordinateurs ARM. Dans ce premier article je rappel comment installer un système d'exploitation sur votre Raspberry Pi. Par ailleurs, j'ai réalisé un petit benchmark à l'aide d'un script, pour comparer les deux distributions officielles : Raspbian et ArchLinuxARM.

 


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/

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la deuxième lettre du mot cevqlh ?

#1  - Ealrann a dit :

Tes résultats sous archlinux sont assez étranges.

Je suis moi même sous archlinuxarm, et voici mes resultats de hdparm -tT :
Timing cached reads: 300 MB in 2.01 seconds = 149.53 MB/sec
Timing buffered disk reads: 58 MB in 3.01 seconds = 19.28 MB/sec


Bref, pas grand chose ne justifie l’écart que tu trouves. Peut être as tu installé Archlinux sur une carte mémoire / clef usb plus lente que celle sous débian ? Peut être qu'il y a eu une mise à jour d'archlinux entre temps ?
En tout cas je pense que ces résultats sont à revoir.

Répondre

#2  - P3ter a dit :

@Ealrann : Effectivement, tu as raison. Je prépare une mise à jour de cet article. Merci pour tes remarques.

Répondre

#3  - honeyshell a dit :

Bonjour P3ter, deux points que je retiens sur ton article :
- raspbian (au moment de mon install) ne démarra pas par défaut sur le bureau. Pour cela il faut utiliser rpi-config pour le mettre par défaut.
- depuis le 24 octobre tu n'as pas mis à jour tes résultats d'Archlinux, cela fausse la donne, surtout que ton article a un bon "pagerank" :-)

Répondre

#4  - P3ter a dit :

@honeyshell : Oui par défaut on ne démarre pas sur le bureau il faut lancer la commande "startx" ou bien utiliser rpi-config. Mais dans mon cas l'environnement graphique était lancé. Je referai un benchmark prochainement ;-)

Répondre

#5  - skai a dit :

Salut ! et merci pour ce bench fort intéressant.

Juste une remarque : le choix de l'une ou l'autre distro (a performances a peu près équivalentes comme c'est le cas) va être défini par ... la facilité de mise en ouvre de fonctionnalités.
Par exemple : disponibilité de packages.

J'ai beaucoup de mal à trouver une liste consultable de ce qui est dispo sous raspian, alors que arch propose ceci :
http://archlinuxarm.org/packages

Un "bench fonctionnel" serait cool :-) mais pas facile à faire. Si tu as trouvé des pistes suite à tes essais... ce serait cool de les partager aussi ^^

(exemple : j'aimerais monter un accès au service cloud "hubic" d'Ovh, besoin de swift / openstack / cloudfuse ... a priori pas dispo sous Arch.)

Au plaisir de te suivre !

Répondre

#6  - Pedro CADETE a dit :

@skai : Bonjour, effectivement c'est sur ce point que les deux distributions vont se départager.

Pour Raspbian, la seul façon que j'ai trouvé pour voir la liste des paquet c'est de fouiller directement le dépôt officiel. A priori sur Raspbian c'est bon pour swift et openstack mais j'ai rien trouvé sur cloudfuse.

Sur ArchLinux il y a le dépôt AUR qui est une vrai mine d'or. Mais personnellement, je préfère Arch pour un usage desktop et Rasbian (Debian) pour un usage serveur.

Répondre

#7  - Raspberry pi a dit :

Pour moi ya pas vraiment de déférence entre ces deux, mais perso je préfère le Raspbian, facile et des mises à jour disponibles. Merci pour l'article.

Répondre