Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Moved 'boot workarounds' section.)
No edit summary
 
(164 intermediate revisions by 50 users not shown)
Line 1: Line 1:
{{translations}}
{{translations}}
{{emulation-nav}}
{{ Latest Releases | livecd = inline | devel = inline | extra }}


In the past, OLPC produced alternative software images which could be run in emulators such as QEMU and VMware. This meant that development and testing could happen to a limited extent without requiring an XO laptop.
[[Image:AP1_39.jpg|thumb|laptop-in-laptop]]


'''In 2013, please see Tom Gilliard's many [http://wiki.sugarlabs.org/go/Sugar_Creation_Kit virtual machine images ready-to-go].'''
== Quick Start - [[LiveCd|LiveCD]] ==


Note, XOs are readily available to genuine volunteer contributors through the [[Contributors program]].
For many, the [[LiveCd|LiveCD]] is the easiest way to try [[Sugar]]. It's easy to do, but your work is lost when you reboot.


[http://sugarlabs.org Sugar], the unique user interface of the XO laptops, is also distributed as a generic software project and can be developed and tested on "regular" computers as well as XOs. See [http://wiki.sugarlabs.org/go/Downloads Sugar Labs Downloads] for the full range of options, such as [http://wiki.sugarlabs.org/go/Sugar_on_a_Stick Sugar on a Stick].
== Quick Start - [[Emulating the XO/Quick Start|Emulation]] ==

'''[[Emulating the XO/Quick Start|Emulation]]''' is the other way to try [[Sugar]]. It can be harder to set up,, but work is preserved.
:Sound in [[TamTam]] may not be working at the moment. [[User:MitchellNCharity|MitchellNCharity]] 13:16, 5 June 2007 (EDT)

== Quick Start for Developers ==
Developing on emulation is one alternative for developing software.

Get [http://olpc.download.redhat.com/olpc/streams/development/LATEST/devel_ext3/olpc-redhat-stream-development-devel_ext3.img.bz2 the latest image]
from [http://olpc.download.redhat.com/olpc/streams/development/LATEST/devel_ext3/ here]. ''(add link to tinderbox)''
Install QEMU and kernel acceleration as described in [[Emulating the XO/Quick Start]]. See the [[/Help_and_tips]] "Development" section.

'''See [[#XO-QEMU boot broken - current workarounds]].'''

== Overview ==

One way to run oplc software is using an emulator on your pc. See [[Getting started programming]] for other options.

Note '''[[:Category:Emulation]]''' and '''[[Emulating the XO/Help and tips|Help and tips]]'''.

For play, you can use [[LiveCd]] or [[Emulating the XO/Quick Start|Quick Start]].

For development, you can use [[LiveCd]], or qemu (as in quick start, but with a different image), or perhaps one of the [[Developer Images]] other than the LiveCd. An alternate approach is to attempt [[:Category:Installing_Sugar|installing sugar]]. See [[Getting started programming]] for a comparison.

A common development approach is to use [[QEMU]] with kqemu acceleration. See [[Emulating the XO/Quick Start|Quick Start]] for the basics.
Though for development, we will use a different .img, one with a few extra utility programs. See [[OS images]], including '''[[OS_images#Latest_Stable_Build |latest stable build]]'''.

Instead of qemu, you can run [[Emulating the XO/UsingVMware|VMware]], and there are additional options on a [[Emulating the XO/Mac|Mac]].

Please report your experiences in [[User Feedback on Images]]. There is a [[Virtualization Common Room]].

There are [[Emulating the XO/Limitations of XO disk images|limitations with XO disk images]].

The LATEST-STABLE-BUILD versus LATEST build distinction is mostly of interest to people running on actual XO's. In emulation, developers should usually use LATEST. And when STABLE is old, non-developers probably should too.

== Comparison of alternatives ==

An OLPC laptop is custom hardware, running a stripped-down Red Hat linux, running [[Sugar]]. But what if you don't have a real olpc laptop? There are a several options, which can each be used in a couple of ways.

=== recomendations ===
{| border=1 cellspacing=0
|- style="background:lightgray; "
! platform !! purpose !! recommendation
|-
| Windows || development || emulated xo disk image; or emulated Ubuntu with sugar-jhbuild; (or develoepr CD or LiveCD)?. (''need your reports'')
|-
| Mac || development || emulated xo disk image; or emulated Ubuntu with sugar-jhbuild; (or developer CD or LiveCD)?. (''need your reports'')
|-
| Mac with Parallels || development || install Ubuntu 32-bit, and [[Sugar on Ubuntu Linux]]. See [[/Mac]].
|-
| Ubuntu 32-bit || development || [[Sugar with sugar-jhbuild]] and [[Sugar on Ubuntu Linux]]
|-
| 32-bit linux || development || [[Sugar with sugar-jhbuild]]
|-
| 64-bit linux || development || xo disk images under qemu; or [[LiveCd]] once it gets updated (currently it's April)
|}

:I don't really believe the development option of Windows/Mac developer/live CD. I've not yet heard of it actually being used. They are months out of date (April). But [[User:Mcfletch|Mcfletch]] said (in May) it's an option, so I added it. [[User:MitchellNCharity|MitchellNCharity]] 09:19, 23 June 2007 (EDT)

=== background ===
{| border=1 cellspacing=0
|- style="background:lightgray; "
! option
! updated !! sound? !! camera? !! library? !! etoys? !! R/W? !! development software? !! net? !! comments
|-
| [[:Category:Installing Sugar|Installing Sugar]]
| continuous || yes || yes? || yes? || yes
| yes || your own || yes
| On some platforms, it takes time and space (hours and ~3GB), but "just works". On others, it is quite difficult to install.
|-
| [[:Category:Installing Sugar|Installing Sugar]], on a virtual 32-bit Ubuntu, running in an emulator (qemu, parallels, or vmware)
|-
| [[LiveCd]]
| April || yes(boot) yes?(qemu) || yes?(boot) no(qemu) || no || yes
| no || toolchain, Gnome || yes?
| Alternative Quick Start. Can both be booted from, and used in qemu. Problems: A.

|-
| colspan=10 style="background:lightgray; " | [[OS images|XO disk images]]:

|-
| colspan=10 | LATEST-STABLE-BUILD <span style="font-size:80%; "><tt>http://olpc.download.redhat.com/olpc/streams/development/LATEST-STABLE-BUILD/</tt></span>

|-
| ...development-ext3.img
| ~monthly || yes/B || no || yes || yes
| yes || no || after config
| Quick Start for getting a look at Sugar.

|-
| ...development-devel_ext3.img
| ~monthly || yes/B || no || no || yes
| yes || a little || after config

|-
| colspan=10 | LATEST <span style="font-size:80%; "><tt>http://olpc.download.redhat.com/olpc/streams/development/LATEST/</tt></span>

|-
| ...development-ext3.img
| ~daily || yes/B || no || yes || yes
| yes || no || after config

|-
| [http://olpc.download.redhat.com/olpc/streams/development/LATEST/devel_ext3/olpc-redhat-stream-development-devel_ext3.img.bz2 ...development-devel_ext3.img]
| ~daily || yes/B || no || no || yes
| yes || a little || after config
| Good for new developers (requires some command-line comfort).

|-
| colspan=10 style="background:lightgray; " | OTHER

|-
| [[Developer Images#Big Fedora Core 6 Build|FC6+Sugar]]
| April || yes? || ? || ? || no

| yes || Full Fedora Softare Dev. || yes
| 6GB (April version: no etoys)

|}
Key:
:library: A library of sample content is included (english version). Ie, pretty text to web browse without having to get network.
:R/W (writable): With an .img, you can save things between sessions. With a .iso, your environment is the same each time you start.
:development software: are development tools included?
:Net (network): does the network "just work" or "manual" steps are required?

Problems:
:A: LiveCd (April) on fc6 x86_64, kernel panics under kqemu. A squashfs problem.
:B: Tam Tam is silent (though EToys makes noise). Cause unknown.

Notes:
*re "does sugar-jhbuild support camera/mic?": "yes, if the camera uses v4l2 and 640x480, I'd suspect so." Can someone confirm this? (#olpc, now) [[User:MitchellNCharity|MitchellNCharity]] 00:16, 2 June 2007 (EDT)

Doables:
*Remove LiveCd's "?" above.
*Find out what's going on with Tam Tam sound. It would be nice for the xo disk images to all be sound-yes.
*Add a microphone column? Reconsolidate sound/camera/mic into a H/W column?

== XO-QEMU boot broken - current workarounds ==

Build 445 was the last version which booted cleanly under qemu ([http://dev.laptop.org/ticket/1809 ticket]).
More recent builds require workarounds.

*The boot currently hangs in rc netfs. So we disable it. This only needs to be done once.
*#Get a shell. Follow the instructions below, but add a "2" to the end of the kernel line. So it is <tt> root=/dev/hda1 2 </tt>
*#Log in as root, no password.
*#Then:
mv /etc/rc.d/rc3.d/S25netfs /etc/rc.d/rc3.d/DISABLED-S25netfs
mv /etc/rc.d/rc5.d/S25netfs /etc/rc.d/rc5.d/DISABLED-S25netfs
::4. Done. Now restart qemu, following the instructions below.

:(This workaround avoids the boot hanging after saying "Mounting other filesystems:".)
*When booting on qemu, add root=/dev/hda to the grub kernel line. This needs to be done every time.
*#When you start your xo disk image on qemu, you should see a blue grub screen, doing a "Booting .. in N seconds" countdown. Press space to interrupt it.
*#Press '''e''' (edit). This will show you 3 lines.
*#Move to the second, which begins "kernel". Press '''e'''. This will take you to the end of the kernel line.
*#Add <tt> root=/dev/hda1</tt> Then press enter.
*#Press '''b''' to continue booting.
:(This workaround avoids "WARNING: Cannot find root file system!", and being dropped into an emergency shell.)

Should add instructions to modify the image's grub config, so this doesn't need to be done every time you boot. [[User:MitchellNCharity|MitchellNCharity]] 12:04, 3 July 2007 (EDT)

It might be worth gathering the currently scattered notes, into a single list of step by step instructions, for getting from nothing, to a pair of qemu images running with Xephyr's and ssh. [[User:MitchellNCharity|MitchellNCharity]] 12:04, 3 July 2007 (EDT)


For emulation of extremely old builds, you may be able to come across "ext3 images" on some corners of http://download.laptop.org and http://xs-dev.laptop.org/~cscott/olpc/streams/ which can be loaded into emulators. You are unlikely to find support for them!


[[Category:OS]]
[[Category:OS]]

Latest revision as of 16:26, 30 July 2013

  english | español日本語한국어portuguêsрусский HowTo [ID# 290021]  +/-  
modify 

In the past, OLPC produced alternative software images which could be run in emulators such as QEMU and VMware. This meant that development and testing could happen to a limited extent without requiring an XO laptop.

In 2013, please see Tom Gilliard's many virtual machine images ready-to-go.

Note, XOs are readily available to genuine volunteer contributors through the Contributors program.

Sugar, the unique user interface of the XO laptops, is also distributed as a generic software project and can be developed and tested on "regular" computers as well as XOs. See Sugar Labs Downloads for the full range of options, such as Sugar on a Stick.

For emulation of extremely old builds, you may be able to come across "ext3 images" on some corners of http://download.laptop.org and http://xs-dev.laptop.org/~cscott/olpc/streams/ which can be loaded into emulators. You are unlikely to find support for them!