Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
(→‎Comparison of alternatives: Gentoo core dev recommendation -> s-jh on F7 in qemu. bemasc++)
No edit summary
 
(91 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 emulation. 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 &amp; 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 &amp; 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]] in F7 on qemu. Or [[Sugar on Gentoo Linux]] (more invasive, less stable).
|-
| Other linux &amp; FreeBSD || play &amp; development || xo disk images on qemu. See [[Emulating the XO/Quick Start]]. Perhaps also on [[VirtualBox]]?
|-
| Windows || play &amp; development || emulated xo disk image, on [[VirtualBox]], [[VMWare]], or [[Using QEMU on Windows XP|QEMU on Windows]].
|-
| Mac || play &amp; 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/LATEST/devel_ext3/ LATEST] has been working on qemu lately. TamTam sound doesn't work [http://dev.laptop.org/ticket/1978 #1978].

[http://olpc.download.redhat.com/olpc/streams/development/build611/devel_ext3/ 611] has been run on qemu, but has not been extensively tested. [[User:MitchellNCharity|MitchellNCharity]] 12:16, 3 October 2007 (EDT)

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

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

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