Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
(→‎Comparison of alternatives: Move "future possibilities" section to Talk.)
(Replacing page with 'I'm having boating school issues mostly SpongeBob's bad driving')
Line 1: Line 1:
I'm having boating school issues mostly SpongeBob's bad driving
{{translations}}
{{ Latest Releases | livecd = inline | devel = inline | extra }}

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

== [[LiveCd|LiveCD]] ==

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.

== [[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)

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

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

{| border=1 cellspacing=0
|- style="background:lightgray; "
! option
! updated !! sound? !! camera? !! library? !! etoys? !! R/W? !! development software? !! net? !! comments

|-
| [[LiveCd]]
| April || yes(boot) yes?(qemu) || yes?(boot) no(qemu) || no || yes
| no || toolchain, Gnome || yes?
| Alternative Quick Start. Good for new developers. 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

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

|-
| [[:Category:Installing Sugar|Installing Sugar]]
| continuous || yes || yes? || yes? || yes
| yes || your own || yes
| Quite hard to do.
|}
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?

== Emulation for Development ==

=== Development using QEMU ===

If you wish to develop software on an emulated image, you will usually want a connection between your host and the laptop image.

You need a "<tt>*-devel*.img</tt>" image, rather than a standard (non-devel) one. The <tt>-devel</tt> image has extra software like <tt>sshd</tt> and <tt>wget</tt>.

Get network working on the laptop. See [[Using QEMU for Troubleshooting#Network]]. A simple <tt>echo ifup eth0 >> /etc/rc.local</tt> , run as root on the laptop, should do it. You should now be able to surf with the laptop's web activity. Under QEMU the Laptop image can see the host as IP address 10.0.2.2 .

Next, you have several alternatives:
* SSH using qemu -redir tcp:2222::22. (a good first approach)
*# First-time setup
*## Get the image's network working.
*## Change the image's root password.
*##: Log into the image as root (no password needed yet!), type <tt>passwd</tt> , and then give it one. Complaints about "BAD" passwords won't stop things from working.
*##: Logging in as root is easy in qemu - you have a console window. Elsewhere...''(? someone else will need to fill this in)''
*# Whenever you run qemu, add the argument <tt>-redir tcp:2222::22</tt>
*# You can now log into the laptop image, from your real machine, using ssh. And you can use scp, etc.
ssh -p 2222 root@localhost # simple
ssh -o NoHostAuthenticationForLocalhost=yes -p 2222 root@localhost #avoids annoying warning
* SSH using a key. (if ssh passwords get annoying, you can try this)
*: If you create an SSH server on your host and install a key on your Laptop image that has logon rights for that server, you can ssh from the OLPC to your host. This avoids password typing.
*: Adding platform-specific instructions might be useful? [[User:MitchellNCharity|MitchellNCharity]] 15:59, 21 May 2007 (EDT)
* Using a web server. (if you don't want to deal with ssh, and have a webserver)
*: If you have a web server, you might simply download stuff onto the laptop using the laptop's web browser.


[[Category:OS]]
[[Category:Developers]]
[[Category:Emulation]]
[[Category:Sugar]]

Revision as of 19:45, 5 June 2007

I'm having boating school issues mostly SpongeBob's bad driving