Emuler le Raspberry Pi avec Qemu
Afin de créer des paquets Debian pour Raspbian, j’ai choisi de passer par Qemu.
Téléchargement
La première étape est, naturellement, le téléchargement de l’image et du noyau.
Adaptation à Qemu
L’image est prévue pour la carte Raspberry Pi. Il faut donc l’adapter un peu pour qu’elle fonctionne pleinement dans Qemu.
Démarrage d’un shell (attention au clavier qwerty) :
$ qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -append "root=/dev/sda2 panic=1 init=/bin/sh rw" -hda 2014-01-07-wheezy-raspbian.img
Commenter la première ligne du fichier /etc/ld.so.preload
.
Créer le fichier /etc/udev/rules.d/90-qemu.rules
avec le contenu :
KERNEL=="sda", SYMLINK+="mmcblk0"
KERNEL=="sda?", SYMLINK+="mmcblk0p%n"
Elargir la partition
Comme je vais faire quelques compilations, il vaut mieux rajouter de la place.
Elargir le disque virtuel :
$ qemu-img resize 2014-06-20-wheezy-raspbian.img +2G
Redémarrer Raspbian :
$ qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda 2014-06-20-wheezy-raspbian.img
Retailler la dernière partition en la supprimant puis en la recréant :
$ sudo cfdisk /dev/sda
Redémarrer pour prendre en compte la nouvelle table des partitions, puis retailler le système de fichier :
$ sudo resize2fs /dev/sda2
$ sudo fsck -f /dev/sda2
Et voilà, un dernier reboot et youpi !