Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
 
(96 intermediate revisions by 42 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].'''
== Simulating an XO ==


Note, XOs are readily available to genuine volunteer contributors through the [[Contributors program]].
Emulators allow you to run a "virtual machine" on a (reasonably powerful) host machine. There are a number of emulator systems available which can be used to run a simulated OLPC-XO. The three listed here provide either Open Source or Gratis players to run images:


[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].
* [[Qemu]], see [[Emulating the XO/Quick Start|Quick Start]]
* [[VirtualBox|VirtualBox]]
* [[VMWare]]


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!
As of [[OS_images|official build]] 557, [[VirtualBox]] and [[VMWare]] are both able to load converted images with networking support. VirtualBox also provides sound support. At the moment, these converted images are the recommended practice for simulating an XO, both for testing out the environment and developing activities.
:Is sound working in TamTam? Or only in general? [[User:MitchellNCharity|MitchellNCharity]] 13:44, 29 September 2007 (EDT)

As of 602, [[Qemu]] is able to run the official images with networking support. Sound doesn't work in TamTam [http://dev.laptop.org/ticket/1978 #1978].

=== Simulating a Developer's Desktop ===

Most core developers use Fedora 7 or Ubuntu Feisty desktops which are running [[sugar-jhbuild]] to track the latest developments in the code-base. This allows you to integrate into the core development process, but can be a considerable maintenance headache due to the fragile nature of the build process.

You can readily run a simulated Fedora/Ubuntu desktop in [[VMWare]]. This setup is not substantially different from running a regular Linux desktop using sugar-jhbuild.

Note: This approach is really only recommended for those who want to work on [[Sugar|core components]] of the environment, activity developers are probably better off using an official image.

Note: Previously we have attempted to provide [[LiveCD]] and [[Developer Images]] for download. Manpower issues have meant that these images have fallen far behind the official images, thus they are no longer a recommended approach for developers. If you are interested in volunteering to maintain the LiveCD or Developer Images, please contact [[User:mcfletch|Mike Fletcher]].

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

{| border=1 cellspacing=0
|- style="background:lightgray; "
! platform !! purpose !! recommendation
|-
| Ubuntu || play & development || xo disk images on qemu. See [[Emulating the XO/Quick Start]].
|-
| Ubuntu 32-bit || core development || [[Sugar with sugar-jhbuild]] and [[Sugar on Ubuntu Linux]]
|-
| Fedora || play & development || xo disk images on qemu. See [[Emulating the XO/Quick Start]]. Perhaps also on [[VirtualBox]]?
|-
| Fedora 32-bit || core development || [[Sugar with sugar-jhbuild]] and [[:Category:Installing_Sugar]]
|-
| Gentoo 32-bit || core development || [[Sugar with sugar-jhbuild]] and [[:Category:Installing_Sugar]]
|-
| Other linux & FreeBSD || play & development || xo disk images on qemu. See [[Emulating the XO/Quick Start]]. Perhaps also on [[VirtualBox]]?
|-
| Windows || play & development || emulated xo disk image, on [[VirtualBox]], [[VMWare]], or [[Using QEMU on Windows XP|QEMU on Windows]].
|-
| Mac || play & development || emulated xo disk image, on qemu. See [[Emulating the XO/Quick Start/Mac]]. Perhaps also [[VirtualBox]] and [[VMWare]]? See also [[/Mac]].
|-
| Mac with Parallels || play || emulated xo disk image, networking works after manually "dhclient eth0", sound does not work (Build 593).
|-
| Mac with Parallels || core development || run Ubuntu 32-bit, and [[Sugar on Ubuntu Linux]]. See [[/Mac]]. ''F7 may be better - see below''
|}
Uncertainties:
*Is F7 better than Ubuntu for sugar-jhbuild? If so, should the Mac Parallels recommendation for core development be F7 rather than Ubuntu, despite the latter having a track record in [[/Mac]]? [[User:MitchellNCharity|MitchellNCharity]] 10:33, 20 September 2007 (EDT)
**Yes, you will have less problems with Fedora 7, once you get it working in Parallels (which is harder than Ubuntu I think). I am running F7 because I need to be able to build RPMs. [[User:Bert|Bert]] 08:33, 25 September 2007 (EDT)

== Build recommendations ==

For running XO disk images on an emulator, some builds are better than others, and the most recent one will not always work. Here is a summary of current status. Please add your own experiences here, and in [[User Feedback on Images]].

[http://olpc.download.redhat.com/olpc/streams/development/build602-20070920_2254/devel_ext3/ 602] is believed to work in qemu, but has not been extensively tested. TamTam sound still doesn't work [http://dev.laptop.org/ticket/1978 #1978]. [[User:MitchellNCharity|MitchellNCharity]] 13:44, 29 September 2007 (EDT)
:In 602, on qemu but not a B4, Browse doesn't show the default content - remains gray. [[User:MitchellNCharity|MitchellNCharity]] 14:47, 29 September 2007 (EDT)
:609 seems similar. [[User:MitchellNCharity|MitchellNCharity]] 15:01, 29 September 2007 (EDT)

Build [http://olpc.download.redhat.com/olpc/streams/development/build558-20070827_0241/devel_ext3/ 557] is reported to work on VirtualBox and VMWare.

Build 593 is reported[http://dev.laptop.org/ticket/3470#comment:8] to boot on VMWare.

Build 609 is reported to not run on qemu (#olpc 2007-09-29). [[User:MitchellNCharity|MitchellNCharity]] 00:51, 29 September 2007 (EDT)
:Runs for me. Booted, network/Neighborhood worked. Journal didn't start on first boot, but did on second. [[User:MitchellNCharity|MitchellNCharity]] 15:01, 29 September 2007 (EDT)

== Overview ==

:''This is the old introduction section. It needs to be updated. Eg, the LiveCd is currently not a useful alternative. And "just use the latest build" isn't good advice, as a more selective approach has been needed.'' [[User:MitchellNCharity|MitchellNCharity]] 23:36, 19 September 2007 (EDT)

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.



=See also=
*[[How to set up for development on linux emulation]]. Also helpful for non-developers, and for other platforms.
*[http://www.ibm.com/developerworks/linux/library/l-sugar-olpc/index.html Tutorial] Written by IBM on how to get this working.
*[[Improving emulation]]
*[[:Category:Emulation]]


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