Emulating the XO/Quick Start/Linux: Difference between revisions

From OLPC
Jump to navigation Jump to search
(split Fedora from Debian/Ubuntu. Page is still a mess, but now at least in a different way, and perhaps less so. We need Ubuntu 7.10 instructions.)
Line 1: Line 1:
__TOC__
__TOC__


== Debian/Ubuntu/Fedora/... ==
== Fedora ==


'''1 - Unpack the image'''
'''1 - Unpack the image'''
Line 9: Line 9:
'''2 - Obtain qemu'''
'''2 - Obtain qemu'''


yum install qemu
On Debian/Ubuntu, as root:


'''3 - Run qemu on the image'''
apt-get install qemu


'''qemu -soundhw es1370 -serial `tty` -net user -net nic,model=rtl8139 -hda laptop.img'''
On Fedora, as root:


Please check for the required arguments to qemu as explained on [[Emulating_the_XO/Quick_Start]]. At the time of writing, the arguments are as shown above, but this can change/evolve, so please check the Quick Start page for the latest recommended arguments first! Do NOT add the '-kernel-kqemu' argument at this point though, you'll first need to do step 4 before you add that one.
yum install qemu

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

'''4 a - 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. [http://atrpms.net/name/kqemu/ 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, <tt>ls /boot/</tt>). [[User:MitchellNCharity|MitchellNCharity]] 19:40, 1 July 2007 (EDT)

'''4 b - Run modprobe'''

sudo /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 <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. If you get the error message "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", run the emulation as root or by with sudo.

== Debian/Ubuntu ==

'''1 - Unpack the image'''

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

'''2 - Obtain qemu'''

apt-get install qemu


'''3 - Run qemu on the image'''
'''3 - Run qemu on the image'''
Line 31: Line 72:
'''4 a - Obtain kqemu'''
'''4 a - Obtain kqemu'''


On Debian/Ubuntu, as root, do '''one of''':
''''' old Ubuntu < 7.04, and Debian(?) '''''

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-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-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
apt-get install kqemu-modules-2.6-k7 # if you have a 32-bit AMD Duron/Athlon/AthlonXP
:This kqemu-modules step is reported to be unneeded (and unavailable) for Ubuntu 7.04. If you do need it, please note that here. You can use <tt>sudo apt-get search kqemu</tt> to look around. [[User:MitchellNCharity|MitchellNCharity]] 16:46, 2 October 2007 (EDT)


And then
Then
apt-get install kqemu-common
apt-get install kqemu-common
to add docs and have it auto-load at boot time.
to add docs and have it auto-load at boot time.

''''' Ubuntu 7.10 '''''

Please fill this in if you know.

''''' Ubuntu 7.04 '''''


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


a) First, run
Install the program:
apt-get install kqemu-common

b) Install the program:
sudo apt-get install module-assistant
sudo apt-get install module-assistant


Download the kernel headers:
c) Download the kernel headers:
sudo module-assistant prepare kqemu
sudo module-assistant prepare kqemu


Download, compile and install the kqemu module package:
d) Download, compile and install the kqemu module package:
sudo module-assistant auto-install kqemu
sudo module-assistant auto-install kqemu

e) If you wish to avoid having to modprobe kqemu each time you boot:


Due to an [https://bugs.launchpad.net/ubuntu/+source/kqemu/+bug/105933 open bug] in ubuntu's kqemu-source package, you'll need to do the following as well:
Due to an [https://bugs.launchpad.net/ubuntu/+source/kqemu/+bug/105933 open bug] in ubuntu's kqemu-source package, you'll need to do the following as well:
Line 67: Line 120:
Save the file and exit nano.
Save the file and exit nano.


f) continue with next step...
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.
::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, <tt>ls /boot/</tt>). [[User:MitchellNCharity|MitchellNCharity]] 19:40, 1 July 2007 (EDT)


'''4 b - Run modprobe'''
'''4 b - Run modprobe'''
Line 89: Line 137:


If you forget and use just <tt>qemu</tt> instead, things will be slow again. If you get the error message "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", run the emulation as root or by with sudo.
If you forget and use just <tt>qemu</tt> instead, things will be slow again. If you get the error message "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", run the emulation as root or by with sudo.



== FreeBSD ==
== FreeBSD ==

Revision as of 19:42, 22 October 2007

Fedora

1 - Unpack the image

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

2 - Obtain qemu

yum install qemu

3 - Run qemu on the image

qemu -soundhw es1370 -serial `tty` -net user -net nic,model=rtl8139 -hda laptop.img

Please check for the required arguments to qemu as explained on Emulating_the_XO/Quick_Start. At the time of writing, the arguments are as shown above, but this can change/evolve, so please check the Quick Start page for the latest recommended arguments first! Do NOT add the '-kernel-kqemu' argument at this point though, you'll first need to do step 4 before you add that one.

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

sudo /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. If you get the error message "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", run the emulation as root or by with sudo.

Debian/Ubuntu

1 - Unpack the image

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

2 - Obtain qemu

apt-get install qemu

3 - Run qemu on the image

qemu -soundhw es1370 -serial `tty` -net user -net nic,model=rtl8139 -hda laptop.img

Please check for the required arguments to qemu as explained on Emulating_the_XO/Quick_Start. At the time of writing, the arguments are as shown above, but this can change/evolve, so please check the Quick Start page for the latest recommended arguments first! Do NOT add the '-kernel-kqemu' argument at this point though, you'll first need to do step 4 before you add that one.

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

old Ubuntu < 7.04, and Debian(?)

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

And then

 apt-get install kqemu-common

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

Ubuntu 7.10

Please fill this in if you know.

Ubuntu 7.04

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

a) First, run

apt-get install kqemu-common

b) Install the program:

sudo apt-get install module-assistant

c) Download the kernel headers:

sudo module-assistant prepare kqemu

d) Download, compile and install the kqemu module package:

sudo module-assistant auto-install kqemu

e) If you wish to avoid having to modprobe kqemu each time you boot:

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.

f) continue with next step...

4 b - Run modprobe

sudo /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. If you get the error message "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", run the emulation as root or by with sudo.


FreeBSD

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? MitchellNCharity 21:18, 23 May 2007 (EDT)


Yellow Dog Linux on PlayStation3

Sugar is able to run on a PS3. It can be run using the qemu emulator. Here are some directions for one way of doing this:

1. Install ydl linux for PS3

2. Log on to ydl as root user

3. Install yum (helps install other linux software)

4. Download qemu

5. Download therepos here

6. Unzip therepos.zip

7. Access yum folder (yum.repos.d)

8. Copy unzipped files to yum.repos.d

9. Follow the linux emulation instructions