Pages

Monday, July 23, 2007

Emulating the XO/Quick Start/Linux

Debian/Ubuntu/Fedora/...

1 - Unpack the image

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

2 - Obtain qemu

On Debian/Ubuntu, as root:

apt-get install qemu

On Fedora, as root:

yum install qemu

3 - Run qemu on the image

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

Then see Running for the first time.

4 - (optional, but recommended) Make qemu run faster

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

4 a - Obtain kqemu

On Debian/Ubuntu, as root, do one of:

apt-get install kqemu-modules-2.6-486    # if you have a 486/original Pentium
apt-get install kqemu-modules-2.6-686 # if you have a later Pentium
apt-get install kqemu-modules-2.6-k7 # if you have a 32-bit AMD Duron/Athlon/AthlonXP

Then

apt-get install kqemu-common

to add docs and have it auto-load at boot time.

In Ubuntu 7.04, you'll have to use module-assistant to compile kqemu.

Install the program:

sudo apt-get install module-assistant

Download the kernel headers:

sudo module-assistant prepare kqemu

Download, compile and install the kqemu module package:

sudo module-assistant auto-install kqemu

Due to an open bug in ubuntu's kqemu-source package, you'll need to do the following as well:

sudo nano /etc/modprobe.d/kqemu

Change the contents to be:

options kqemu major=0

Save the file and exit nano. Then do:

sudo nano /etc/udev/rules.d/60-kqemu.rules

Enter this text into the empty file:

KERNEL=="kqemu", NAME="%k", MODE="0666"

Save the file and exit nano.

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.
I was successful using kqemu-1.3.0-2.fc6.i386.rpm and kqemu-kmdl-2.6.20-1.2962.fc6-1.3.0-2.fc6.x86_64.rpm from atrpms on fc6. 2962 is the kernel version (eg, ls /boot/). MitchellNCharity 19:40, 1 July 2007 (EDT)

4 b - Run modprobe

/sbin/modprobe kqemu major=0

This will need to be run again if the host computer is rebooted (unless noted above). 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 -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.


Reference: http://wiki.laptop.org/go/Emulating_the_XO/Quick_Start/Linux


No comments: