ARM System Emulation with QEMU and Poky/OE

Poky and OpenEmbedded generated ARM or x86 images can be run under the system emulation mode of qemu. There are now several options:

qemuarm

Qemu can emulate the ARM Integrator/CP and ARM Versatile/XP. Poky uses the Versatile machine for its "qemuarm" support since it has more hardware features. Nightly builds of qemuarm kernels and images are available from the Poky website

qemux86

Qemu can also run x86 images and Poky generates "qemux86" images which are also available on the Poky website

Zaurus Machines (spitz, akita)

Thanks to efforts of Andrzej Zaborowski at Openedhand, support for the PXA270 clamshell series of Zaurus devices was added to QEMU. The akita and spitz images available on the Poky website can be run under the emulator.

Nokia N800 Tablet Emulation (nokia800)

Again thanks to Andrzej, QEMU supports running the N800 tablet images from Poky and Maemo.

Running QEMU images

A recent qemu binary is recommended and "bitbake qemu-sdk" in Poky will build a QEMU binary which supports all of the above (the resulting binary will be tmp/staging/i686-linux-sdk/bin/qemu-system-arm assuming you're on i686). Poky also includes scripts which make running all of the above images easier, simply use "poky-qemu ZIMAGE ROOTFS"

Alternatively, you can get the latest qemu package from http://debian.o-hand.com/ and also the poky-scripts package which includes the poky-qemu script. The standalone toolchain from the Poky website also includes a suitable qemu binary and scripts for standalone use.

The emulated machine should have working network access and can be accessed as 192.168.7.2. The qemu sdk images generated from poky contains an ssh server so ssh connections can be made to the emulated machine and now also include a complete toolchain including gcc, binutils, make, automake, autoconf, pkgconfig and development headers for the installed libraries.

Tested images can be found in the last stable Poky release, Pinky so for demonstration and evaluation purposes you can use images and kernels from http://pokylinux.org/releases/pinky-3.1/

See http://pokylinux.org/ for more details about Poky and the OpenEmbedded website for details about using OE.