Emulating the XO

From OLPC
Revision as of 22:09, 23 May 2007 by MitchellNCharity (talk | contribs) (format tweak - stopped using sections for each step, as it cluttered the TOC. also permits number the steps.)
Jump to: navigation, search

This page is an inprogress overhaul of OS images for emulation.

Quick Start

Mac Quick Start

Linux Quick Start

1 - Obtain qemu

On Fedora, as root:

yum install qemu

On Debian/Ubuntu, as root:

apt-get install qemu

2 - Obtain an image

Download olpc-redhat-stream-development-ext3.img.bz2 (md5). Then,

bzcat olpc-redhat-stream-development-ext3.img.bz2 > laptop.img

3 - Run qemu on the image

qemu -soundhw es1370 -serial `tty` -hda laptop.img

Then see Quick Start: Running for the first time.

4 - (optional) Make qemu run faster

If you have an x86 or x86_64 cpu, you can use kqemu to speed up the emulation several 100%.

4a - Obtain kqemu

On fedora, x86,

XXX please fill this in if you know

On fedora, x86_64, as of 2007-05-13, there are no official rpms for kqemu, or the kqemu kernel module, and they are not included in the qemu rpm. atrpms.net has kqemu rpms. Or install from source.

There are several kernel rpms to choose from. Some guidance should be given here. MitchellNCharity 22:01, 23 May 2007 (EDT)

On Debian/Ubuntu, as root:

XXX please fill this in if you know

4b - Run modprobe

modprobe kqemu major=0

This will need to be run again if the host computer is rebooted. If you forget, qemu will be slow again (and a one-line error message scroll by when you run qemu).

4c - Run a qemu variant with the -kernel-kqemu option

On x86,

qemu -kernel-kqemu ...

On x86_64,

qemu-system-x86_64 -kernel-kqemu ...

If you forget and use just qemu instead, things will be slow again.

FreeBSD Quick Start

Install qemu from ports:

cd /usr/ports/emulators/qemu && make install clean

or as a package

pkg_add -r qemu

Then load kqemu and aio kernel modules:

kldload kqemu
kldload aio

and launch the image you want:

qemu -hda olpc-stream-development-7-20060609_1600-ext3.img
Should this take the same arguments as the linux qemu invocation? Are those arguments even needed for linux? MitchellNCharity 21:18, 23 May 2007 (EDT)


Quick Start: Getting an image

Quick Start: Running for the first time

Quick Start: Does my qemu have kqemu?

Does the version of the QEMU support KQEMU? Type ctrl+alt+2 and type info kqemu. Use ctrl+alt+1 to return to OLPC screen.

Developing software using emulation