logIt Log Around The Clock

Ubuntu ARM on QEMU Processor Emulator

There are times when you need to try things on virtualized environment before hand e.g. 1) checking application functionality or 2) actual device shipment is still on its long way. Those were also my cases with ARM Linux. Unlike virtualization in production environment however, putting software to emulate CPU architecture will slow down the guest machine a lot.

Ready-to-use image for from the old Ubuntu 9.10 Karmic is avalaible as suggested in RootStock Wiki .

To run Ubuntu 10,04 Lucid you can create similar .img filled by RootStock generated root file system as described in this post generating lucid-arm.img. Boot image is obtained from Lucid port page, of which I saved with the name vmlinuz-lucid-current-ports which is actually linux kernel 2.6.32-21. Running QEMU is then:

qemu-system-arm -M versatilepb -cpu cortex-a8 \
  -kernel vmlinuz-lucid-current-ports \
  -hda lucid-arm.img -m 256 -append "root=/dev/sda mem=256M devtmpfs.mount=0 rw"

However, adding -redir tcp:3232::22 isn’t directly working (although telnet is showing both directions are functional). This redirection is working with the Karmic image which gives instant ssh on my host laptop as in:

ssh localhost -oPort=3232 -l ubuntu

Note: successful QEMU machine image probably won’t boot successfully with the real board. I can’t use kernel 2.6.38-10 for Lucid rootfs on QEMU, but successfully boot that on DevKit8500D board.

qemu-ubuntu-10.04-lucid-kernel-2.6.32-21.jpg

QEMU console of Ubuntu 10.04 VM


Leave a Reply