virtualisation ARM avec QEMU


Vous souhaitez virtualiser l’architecture ARM pour compiler ou tester vos programmes (comme Node.js), sur vos PC équipés d’un processeur Intel. Je vais vous présenter l’outil de virtualisation / émulation QEmu, pour le processeur ARMv5 … Comme celui du DockStar :)



Introduction à QEMU



Qemu permet de virtualiser plusieurs types de processeurs :



  • x86

  • Sparc

  • ARM

  • Coldfire

  • PowerPC

  • SuperH



Installation de Debian ARM sur QEMU


Les outils nécessaires s’installent avec un simple :


aptitude install qemu qemu-arm-static qemu qemu-kvm-extras


Nous allons commencer par créer le disque virtuel, en mode thin provisionning, de notre future machine ARMv5 avec la commande :

qemu-img create -f qcow ARM.img 2G

Maintenant, nous allons télécharger le noyaux Linux et le initrd d’installation netinstall de Debian Linux Squeeze :




  • wget http://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/versatile/netboot/vmlinuz-2.6.32-5-versatile


  • wget http://ftp.de.debian.org/debian/dists/stable/main/installer-armel/current/images/versatile/netboot/initrd.gz


Démarrons l’installation avec la commande :

qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.gz -hda ARM.img -append "root=/dev/ram"

Et voilà l’installation commence :


Setup Debian Linux ARMv5 on QEMU

Après de longues minutes l’installation s’achève presque. Nous avons encore 3 opérations à réaliser :



  • supprimer les 2 fichiers précédemment téléchargés


  • wget http://people.debian.org/~aurel32/qemu/armel/initrd.img-2.6.32-5-versatile


  • wget http://people.debian.org/~aurel32/qemu/armel/vmlinuz-2.6.32-5-versatile


  • qemu-system-arm -M versatilepb -m 256M -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda ARM.img -append "root=/dev/sda1"


Vous avez virtualisé une machine ARM sur votre PC. J’ai réalisé toutes ces opérations, pour pouvoir compiler Node.js pour processeur ARM sur mon PC !


NodeJS ARMv5 on QEMU