Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
(fiddling)
(format tweak - stopped using sections for each step, as it cluttered the TOC. also permits number the steps.)
Line 12: Line 12:
=== Linux Quick Start ===
=== Linux Quick Start ===


==== Obtain qemu ====
'''1 - Obtain qemu'''


On Fedora, as root:
On Fedora, as root:
Line 22: Line 22:
apt-get install qemu
apt-get install qemu


==== Obtain an image ====
'''2 - Obtain an image'''


Download [http://olpc.download.redhat.com/olpc/streams/development/LATEST-STABLE-BUILD/ext3/olpc-redhat-stream-development-ext3.img.bz2 olpc-redhat-stream-development-ext3.img.bz2] ([http://olpc.download.redhat.com/olpc/streams/development/LATEST-STABLE-BUILD/ext3/olpc-redhat-stream-development-ext3.img.bz2.md5 md5]). Then,
Download [http://olpc.download.redhat.com/olpc/streams/development/LATEST-STABLE-BUILD/ext3/olpc-redhat-stream-development-ext3.img.bz2 olpc-redhat-stream-development-ext3.img.bz2] ([http://olpc.download.redhat.com/olpc/streams/development/LATEST-STABLE-BUILD/ext3/olpc-redhat-stream-development-ext3.img.bz2.md5 md5]). Then,
Line 28: Line 28:
bzcat olpc-redhat-stream-development-ext3.img.bz2 > laptop.img
bzcat olpc-redhat-stream-development-ext3.img.bz2 > laptop.img


==== Run qemu on the image ====
'''3 - Run qemu on the image'''


qemu -soundhw es1370 -serial `tty` -hda laptop.img
qemu -soundhw es1370 -serial `tty` -hda laptop.img
Line 34: Line 34:
Then see [[Emulating the XO#Quick Start: Running for the first time|Quick Start: Running for the first time]].
Then see [[Emulating the XO#Quick Start: Running for the first time|Quick Start: Running for the first time]].


==== (optional) Make qemu run faster ====
'''4 - (optional) Make qemu run faster'''


If you have an x86 or x86_64 cpu, you can use [http://fabrice.bellard.free.fr/qemu/kqemu-doc.html kqemu] to speed up the emulation several 100%.
If you have an x86 or x86_64 cpu, you can use [http://fabrice.bellard.free.fr/qemu/kqemu-doc.html kqemu] to speed up the emulation several 100%.


===== Obtain kqemu =====
'''4a - Obtain kqemu'''


On fedora, x86,
On fedora, x86,
Line 49: Line 49:
XXX please fill this in if you know
XXX please fill this in if you know


===== Run modprobe =====
'''4b - Run modprobe'''
modprobe kqemu major=0
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).
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).


===== Run a qemu variant with the <tt>-kernel-kqemu</tt> option =====
'''4c - Run a qemu variant with the <tt>-kernel-kqemu</tt> option'''


On x86,
On x86,

Revision as of 02:09, 24 May 2007

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