Pages

April 14, 2012

Host a Virtual ARM Environment in Linux using QEMU


I assume that you're on Ubuntu or any other Debian Linux but it should work with any Linux, you then just need to adjust a few commands.

  • Install qemu on your host system: 
$ sudo apt-get install qemu qemu-kvm-extras
  • Download the Debian netinstaller from: 
http://ftp.de.debian.org/debian/dists/squeeze/main/installer-armel/current/images/versatile/netboot/
  • Download initrd and vmlinuz 2.6.32-5 from: 
http://people.debian.org/~aurel32/qemu/armel/
  • Create a qemu harddisk: 
$ qemu-img create -f qcow hda.img 10G
  • Boot qemu with the debian netinstaller: 
$ qemu-system-arm -m 256 -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda armdisk.img -append "root=/dev/ram"
  • Follow the Debian installer and install it. Once the installation finishes, run the q emulator with the following command: 
$ qemu-system-arm -m 256 -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda armdisk.img -append "root=/dev/sda1"



References: http://www.aurel32.net/info/debian_arm_qemu.php