Ce n’est plus la peine de présenter le Raspberry Pi.
Les images distribuées sur le site de la fondation Raspberry Pi sont assez complètes, même un peu trop complètes si on ne veut en faire qu’un serveur (il y a notamment un environnement graphique pré-installé).
Personnellement j’ai choisi d’adapter à mes besoins une image pré-existante, mais sous QEmu pour éviter d’être embêté avec les histoires d’écran (HDMI ou composite) et de hub USB alimenté (clavier / souris ; le Pi ne délivre pas assez de puissance sur les ports USB pour pouvoir alimenter tout et n’importe quoi comme sur un PC normal).
Voici donc comment faire.
1) Télécharger une image pré-existante : raspberrypi.org/downloads
On choisira une image “hard-float” pour exploiter au mieux le matériel : « Raspbian “wheezy” » ou bien « Arch Linux ARM ».
Pour ceux qui veulent utiliser la JVM Oracle sur leur Pi, il faut une image “soft-float” (« Soft-float Debian “wheezy” ») mais là on sort du cadre de ce T&A car le kernel QEmu ci-dessous ne convient qu’au “hard-float”.
Une fois le .zip téléchargé, décompressez-le à l’endroit de votre choix, vous obtiendrez un fichier .img.
2) Télécharger un kernel spécifique pour QEmu. J’ai eu un peu de mal à le trouver (liens cassés) donc je vous le mets ci-dessous :
kernel-3.6.8-armhf-qemu.zip.txt (3.3 MB) Évidemment c’est un .zip, le .txt n’est là que pour contourner les limitations du forum.
Décompressez le .zip dans le même répertoire où vous avez mis votre fichier .img.
3) Installer le paquet qemu
ATTENTION : la version présente dans Squeeze (0.12.5) est beaucoup trop ancienne, il faudra utiliser celle des backports (1.1.2), je vous laisse chercher comment faire. Si vous êtes sur Wheezy pas de souci c’est la 1.1.2 qui est dans les dépôts.
4) Lancer l’image téléchargée :
(suite aux messages de thuban et aux retours d’un utilisateur particulièrement chiant qui se reconnaîtra j’ai modifié la ligne de commandes pour que ça marche mieux)
qemu-system-arm -kernel kernel-3.6.8-armhf-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -nographic -append "root=/dev/sda2 panic=1 console=ttyAMA0" -hda NOM_DE_L_IMAGE.img
Si vous avez un modèle B récent avec 512 Mo de RAM, vous pouvez changer -m 256 en -m 512 si ça vous chante.
Et voilà, y’a plus qu’à.
Pendant le boot vous aurez plein de messages d’erreur, c’est normal : QEmu ne fournit pas l’ensemble du matériel disponible sur le Pi. Entre autres, la puce graphique n’est pas émulée donc vous atterrirez directement sur un login console, et non pas sur un environnement graphique. Mais vu que le but est avant tout de configurer l’image selon nos besoins, ça gêne pas du moment qu’on a accès aux outils de base (nano / apt).
Il se peut que certains messages d’erreur vous donnent l’impression que le système est bloqué mais si vous attendez un moment ça devrait se débloquer tout seul. Soyez patient : chez moi ça met plusieurs minutes à booter !
Quand vous êtes satisfait de votre image (environnement graphique supprimé si vous voulez juste un serveur, SSH configuré comme vous voulez, etc) il n’y a plus qu’à la mettre sur une carte SD (avec dd par exemple). Si vous voulez agrandir la partition pour occuper toutes la carte SD c’est le bon moment (fdisk ; resize2fs). Puis mettre la carte SD dans le Pi et roulez jeunesse.