Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
(→‎Build recommendations: update a very outdated section. recommend current joyride, and using overloaded but existant jabber.l.o.)
(Begin the heavy restructuring, trim off the old stuff.)
Line 1: Line 1:
{{translations}}
{{translations}}
{{emulation-nav}}
{{emulation-nav}}
<< [[Developers/Setup]]


[[Image:AP1_39.jpg|thumb|laptop-in-laptop]]
[[Image:AP1_39.jpg|thumb|laptop-in-laptop]]

== Simulating an XO ==
Emulating the XO is important not only to test software for the system, but also for people to be able to provide day-0 support on all the technical issues that will arise on the XO in countries having access to the device and system for the first time. To fulfill these needs, it will be important to make emulating the XO laptop easy, accessible, and available to many people all over the world.


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


See the [[Developers/Setup#Emulation Packages/Products|Developer's Manual]] for a discussion of the general merits of the various packages and the ways you might want to use emulation in the development process.
The best one depends on your platform and purpose -see [[#Comparison of alternatives|Comparison of alternatives]]. There is currently some disagreement on which to recommend.


See [[#Comparison of alternatives|Comparison of alternatives]] below for a grid showing which environments have been tested and found to work on what host operating systems.
* [[VMWare]]
* [[Qemu]], see [[Emulating the XO/Quick Start|Quick Start]]
* [[VirtualBox|VirtualBox]]


* [[Emulating the XO/Quick Start|Quick Start]]
The emulators currently don't deal very gracefully with the XO's unusual 1200x900 screen size. So what you see is not quite what you would on a real XO, unless you are running a remote X server (as described elsewhere). Running emulation in 1280x1024 is pretty close, but most emulation defaults to 1024x780 to better fit on more people's monitors.
** Get started ASAP using QEMU and an official image
* Platform Specific Notes
** [[Emulating the XO/Mac|Mac OS-X]]
** [[Emulating the XO/Linux|Linux]]
** [[Emulating the XO/Windows|Microsoft Windows]]
* Configuration and Usage
** [[How_to_set_up_for_development_on_linux_emulation|Configuration and Usage of Qemu]]
** [[VMWare]], [[VirtualBox]] -- include the system-specific operations required


* [[Emulating the XO/Help and tips|Help and tips]]
=== Simulating a Developer's Desktop ===
* [[Emulating the XO/Limitations of XO disk images|limitations with XO disk images]]
* [[:Category:Emulation]]
* [[Virtualization Common Room]]
* [http://www.ibm.com/developerworks/linux/library/l-sugar-olpc/index.html Tutorial] Written by IBM on how to get this working.
* [[Improving emulation]]


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.


The emulators currently don't deal very gracefully with the XO's unusual 1200x900 screen size. So what you see is not quite what you would on a real XO, unless you are running a remote X server (as described elsewhere). Running emulation in 1280x1024 is pretty close, but most emulation defaults to 1024x780 to better fit on more people's monitors.
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.


Emulating the XO is important not only to test software for the system, but also for people to be able to provide day-0 support on all the technical issues that will arise on the XO in countries having access to the device and system for the first time. To fulfill these needs, it will be important to make emulating the XO laptop easy, accessible, and available to many people all over the world.
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]].


We should probably move this section to a different page and instead focus this page on emulating an XO, with developer's desktop emulation discussed elsewhere. --[[User:Mcfletch|Mcfletch]] 22:42, 3 December 2007 (EST)


== Comparison of alternatives ==
== 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.
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.

[[User Feedback on Images]]


{| border=1 cellspacing=0
{| border=1 cellspacing=0
Line 70: Line 77:
Current [http://xs-dev.laptop.org/~cscott/olpc/streams/joyride/ joyride] builds generally work (as of ~1400).
Current [http://xs-dev.laptop.org/~cscott/olpc/streams/joyride/ joyride] builds generally work (as of ~1400).
Presence service (mesh view and collaboration) wont work by default, because they are configured with a presence service providing jabber server of ship2.jabber.laptop.org, which doesn't yet exist. There is an overloaded and fragile jabber.laptop.org which may be used in the meantime. [[User:MitchellNCharity|MitchellNCharity]] 22:42, 14 December 2007 (EST)
Presence service (mesh view and collaboration) wont work by default, because they are configured with a presence service providing jabber server of ship2.jabber.laptop.org, which doesn't yet exist. There is an overloaded and fragile jabber.laptop.org which may be used in the meantime. [[User:MitchellNCharity|MitchellNCharity]] 22:42, 14 December 2007 (EST)

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


{{ Latest Releases | livecd = inline | devel = inline | extra }}
{{ Latest Releases | livecd = inline | devel = inline | extra }}


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

Revision as of 04:57, 15 December 2007

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

<< Developers/Setup

laptop-in-laptop

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.

See the Developer's Manual for a discussion of the general merits of the various packages and the ways you might want to use emulation in the development process.

See Comparison of alternatives below for a grid showing which environments have been tested and found to work on what host operating systems.


The emulators currently don't deal very gracefully with the XO's unusual 1200x900 screen size. So what you see is not quite what you would on a real XO, unless you are running a remote X server (as described elsewhere). Running emulation in 1280x1024 is pretty close, but most emulation defaults to 1024x780 to better fit on more people's monitors.

Emulating the XO is important not only to test software for the system, but also for people to be able to provide day-0 support on all the technical issues that will arise on the XO in countries having access to the device and system for the first time. To fulfill these needs, it will be important to make emulating the XO laptop easy, accessible, and available to many people all over the world.


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.

User Feedback on Images

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 in F7 on qemu. Or Sugar on Gentoo Linux (more invasive, less stable).
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 QEMU on Windows.
Mac play & development emulated xo disk image, on qemu or VMWare. See Emulating the XO/Quick Start/Mac. Perhaps also VirtualBox? See also /Mac.
Mac with VMWare fusion core development Fedora 7 in VMWare and Sugar with sugar-jhbuild, sound and networking work. See /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

Discussion:

  • 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? 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. Bert 08:33, 25 September 2007 (EDT)
  • QEMU or VirtualBox or VMWare?

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.

Current joyride builds generally work (as of ~1400). Presence service (mesh view and collaboration) wont work by default, because they are configured with a presence service providing jabber server of ship2.jabber.laptop.org, which doesn't yet exist. There is an overloaded and fragile jabber.laptop.org which may be used in the meantime. MitchellNCharity 22:42, 14 December 2007 (EST)