QEMU is a component of the MeeGo SDK. It can run handset or netbook images under an emulator, so you can test your applications on a MeeGo operating system, even if you don't have a MeeGo device.
If you haven't already installed the SDK, see:
It is also possible to build and install QEMU manually: see the QEMU tools page for details.
The best and simplest way to run a MeeGo image under QEMU is to use mad-admin to create a runtime, and mad to run it. See the instructions below for how to do this.
You can get a list of available runtimes for your version of MADDE with:
$ mad-admin list runtimes qemu-n900-pr12 (installable) rx48-diablo (installable) meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0901-runtime (installable)
To install one of the "installable" runtimes, such as the IA32 handset runtime, do:
$ sudo mad-admin create -f -e meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0901-runtime
This will download the runtime and install it (into MADDE's runtimes directory; on Linux, the default location is /usr/lib/madde/linux-i686/runtimes).
To check the runtime is installed, use mad-admin list runtimes again:
$ mad-admin list runtimes qemu-n900-pr12 (installable) rx48-diablo (installable) meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0901-runtime (installed)
Note that installed is shown next to the handset runtime.
To start an installed runtime, for example the IA32 handset runtime:
$ mad remote -r meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0901-runtime poweron
This boots the image inside QEMU.
Here's what it looks like:
Any time MeeGo is running in QEMU, you can use SSH to connect to the image from another terminal on the host system. The QEMU start script sets up a redirect from port 6666 on the host to the SSH port (port 22) on the guest (MeeGo on QEMU). So you can log into the running QEMU image with:
$ ssh meego@127.0.0.1 -p 6666
Two user accounts are available: