Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (layout tweak)
(Moved stuff out to other pages.)
Line 1: Line 1:
''This page is an inprogress overhaul of [[OS images for emulation]].''
''This page is an inprogress overhaul of [[OS images for emulation]].''


== Quick Start ==
== [[Emulating the XO/Quick Start|Quick Start]] ==


To set up a "virtual XO", to get a taste of the XO software, see [[Emulating the XO/Quick Start|Quick Start]].
*[[Using QEMU on Windows XP|Windows]]
*[[Emulating the XO#Mac Quick Start|Mac]]
*[[Emulating the XO#Linux Quick Start|Linux]]
*[[Emulating the XO#FreeBSD Quick Start|FreeBSD]]


=== Mac Quick Start ===


== Setting up emulation for software development ==
=== Linux Quick Start ===


The most common approach is to use [[QEMU]] with kqemu acceleration. See [[Emulating the XO/Quick Start|Quick Start]] for the basics.
'''1 - Obtain qemu'''
But we will use a different .img, one with a few extra utility programs. See [[OS images]].


Instead of qemu, you can run [[Emulating the XO/UsingVMware|VMware]], and there are addition options on a [[Emulating the XO/Mac|Mac]].
On Debian/Ubuntu, as root:

apt-get install qemu

On Fedora, as root:

yum install qemu

'''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,

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 [[Emulating the XO#Quick Start: Running for the first time|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 [http://fabrice.bellard.free.fr/qemu/kqemu-doc.html kqemu] to speed up the emulation several 100%.

'''4 a - Obtain kqemu'''

On Debian/Ubuntu, as root:
XXX please fill this in if you know

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. [http://atrpms.net/name/kqemu/ atrpms.net] has kqemu rpms. Or install from source.
::There are several kernel rpms to choose from. Some guidance should be given. [[User:MitchellNCharity|MitchellNCharity]] 22:01, 23 May 2007 (EDT)

'''4 b - 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).

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

On x86,
qemu -kernel-kqemu ...

On x86_64,
qemu-system-x86_64 -kernel-kqemu ...
If you forget and use just <tt>qemu</tt> 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? [[User:MitchellNCharity|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 [http://fabrice.bellard.free.fr/qemu/kqemu-doc.html KQEMU]? Type ctrl+alt+2 and type '''info kqemu'''. Use ctrl+alt+1 to return to OLPC screen.

== Developing software using emulation ==


[[Emulating the XO/Troubleshooting|Troubleshooting]] may help. Please report your experiences in [[User Feedback on Images]].





Revision as of 06:01, 24 May 2007

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

Quick Start

To set up a "virtual XO", to get a taste of the XO software, see Quick Start.


Setting up emulation for software development

The most common approach is to use QEMU with kqemu acceleration. See Quick Start for the basics. But we will use a different .img, one with a few extra utility programs. See OS images.

Instead of qemu, you can run VMware, and there are addition options on a Mac.

Troubleshooting may help. Please report your experiences in User Feedback on Images.