Emulating the XO

From OLPC
Revision as of 15:25, 19 September 2008 by Tvoverbeek (talk | contribs) (Emulators)
Jump to: navigation, search
  english | español日本語한국어portuguêsрусский HowTo [ID# 164562]  +/-  
modify 

<< Developers/Setup

laptop-in-laptop

Emulators and Virtual Servers allow you to run a "virtual" computer on any machine.

Strictly speaking, with emulators it is not usually a specific system that is emulated but a generic x86 processor with Sugar, so this emulation has some limits. The customized devices on an XO cannot be emulated, and some peripherals in your PC may not be supported through the emulated XO.

Emulators convert the code written/compiled for a particular system to the host computer's architecture. Virtualisation Servers differ from Emulation by that the code doesn't have to be converted; they run the operating system on the host CPU. Virtualisation is much faster than an emulator because of this.

See the Developer's Manual for a discussion of the merits of various packages and the ways you might want to use emulation in the development process. Keep in mind that emulation is NOT perfect.


Emulators

At present, QEMU is used most frequently. It is both an Emulator and a Virtual Server, and runs on many operating systems.

If you are running Linux, there is an experimental package to simplify using qemu for emulation. Feedback encouraged. MitchellNCharity 15:03, 6 January 2008 (EST)

8.2 and joyride 2.6.25 kernel based images do not work in stock QEMU (0.9.1)

The 2.6.25 kernel used in the current (Sep 2008) builds checks for the availability of the 3DNow extension and if it does not find it refuses to boot. This makes it impossible to use the current devel-ext3 images under QEMU (same for VMWare and probably also for VirtualBox). You need a version of QEMU compiled from a recent SVN snapshot which allows to specify a cpu type of athlon with 3DNow support.

Build recommendations

For running XO disk images on an emulator, you must use an ext3 image, not the JFFS2 image which is for on-board NAND flash memory. Please note that the build you want to run may only be available in JFFS2; if so, check older builds. Some builds are better than others and the most recent one will not always work.

OUTDATED status

Please add your own findings to User Feedback on Images.

joyride builds generally work (as of build 1400). Presence service (mesh view and collaboration) won't 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)

Another jabber server alternative is: jabber.xochat.org (typically 60 to 80 people online) --ixo 03:29, 5 January 2008 (EST)
Please be aware that the xochat.org server is also overloaded, and the load is proportional to the product of the number of registrees times the current number of users, for the reasons documented at XMPP_Extensions. So don't connect (and thus automatically register) unless you will really be contributing, and/or set up your own ejabberd server. NealMcBurnett 15:39, 7 January 2008 (EST)

I've had good luck with all of the ship2 builds under VMware Workstation 6. -- Ed Borasky (Znmeb), 15 December 2007.



External links