Improving emulation: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{stub}}
{{stub}}
{{Merge| Emulating_the_XO}}
For a long time, people have wanted it to be easier to try out olpc software, and easier to develop it. There have been a lot of efforts in various directions, by various people. But the efforts have been scattered, with little coordination, communication, or documentation. This page is created in the hope that it will become such a point of communication.
For a long time, people have wanted it to be easier to try out OLPC [[software]], and easier to develop it. There have been a lot of efforts in various directions, by various people. But the efforts have been scattered, with little coordination, communication, or documentation. This page is created in the hope that it will become such a point of communication.


==Efforts and opportunities==
==Efforts and opportunities==
Active:
Active:
* http://dev.laptop.org/~mncharity/olpc_xo_qemu/ - An attempt to make [[w:QEMU|QEMU]] emulation easier on Linux. [[User:MitchellNCharity|MitchellNCharity]] 16:18, 18 December 2007 (EST)
*[[User:Mcfletch]] is working to create and documenting a VirtualBox/VMWare alternative to qemu.
* See [[LiveCd]].
** He's also working on getting the VMWare images auto-generated for all Joyride/Ship.2 images
* ???
*[[User:Mchua]] is working on Puppy Dog linux (a tiny linux) + emulation to create a live usb and/or live CD.
*[[User:CScott]] is working on making emulation images capable of being updated when new builds come out.
*"Build watch": [[User:MitchellNCharity]] intermittently maintains the "build watch" on [[Emulating the XO]], reporting which builds are working in emulation. Historically the emphasis has been on qemu, but the other emulators are often hit by the same issues.
* [[User:Mcfletch]] is working on getting sugar-jhbuild to work on 64-bit machines (it's working now for the most part)
Less active:
Less active:
* ???
*There have been collective efforts to debug and document emulation on qemu, vmware, parallels, virtual pc, virtual box, and other emulators.
*J5 has updating [[LiveCD]] somewhere far down on his large todo list. It used pilgrim ''(link?)'', which could also be used to convert it to a live usb.
*The LiveBackup folks have a [[LiveCD]] available, that ''should'' also be usable as a key-drive bootable if I understand the technology correctly
*There have been various efforts by ... to create F7 and Ubuntu builds which work in emulation, to run sugar-jhbuild.
*...


What else? Please add any efforts you know about. And links to further information, to make it easier for folks to pick up currently inactive efforts.
What else? Please add any efforts you know about. And links to further information, to make it easier for folks to pick up currently inactive efforts.
Please use the <nowiki>~~~~</nowiki> twiddles to date the information.


==Problem space==
==Problem space==
:Key sizes: CD (700MB); USB 1GB; USB 2GB; devel image 1GB; devel image modified for less free space (down to)~300MB; sugar-jhbuild ~3GB; F7 image (something like)~10GB.
:Key sizes: CD (700MB); USB 1GB; USB 2GB; devel image 1GB; devel image modified for less free space (down to)~300MB; sugar-jhbuild ~3GB; F7 image (something like)~10GB.
:Building blocks: xo images; converted xo images; sugar-jhbuild; emulators; linuxes (F7, Ubuntu, tiny (eg, Puppy Dog)).
:Building blocks: xo images; converted xo images; sugar-jhbuild; emulators; Linuxes (F7, Ubuntu, tiny (eg, Puppy Dog)).
Some problem space characteristics:
Some problem space characteristics:
*Live usb sticks are much less universally supported than live CD's.
*Live usb sticks are much less universally supported than live CD's.
*Non-free alternatives to qemu tend to be easier to install, and more featureful (vis usb, camera, and sharing with host), but have not yet been used for xo development by as many people, and are thus currently less mature. VirtualBox may be interesting in being more featureful/easy, while still permitting redistribution (eg, on live mumbles).
*Non-free alternatives to qemu tend to be easier to install, and more featureful (vis USB, camera, and sharing with host), but have not yet been used for xo development by as many people, and are thus currently less mature. VirtualBox may be interesting in being more featureful/easy, while still permitting redistribution (eg, on live mumbles).
Random points in design space:
Random points in design space:
*LiveCD with devel image-like stripped down F7. This was the approach used by the old 406 livecd. Pilgrim.
*LiveCD with devel image-like stripped down F7. This was the approach used by the old 406 livecd. Pilgrim.
*LiveCD with small linux plus emulation of shrunk devel image. Probably simpler than the F7 approach. Bug space will be simpler. Support of user hardware will be poorer (emulation level rather than sugar-jhbuild level).
*LiveCD with small Linux plus emulation of shrunk devel image. Probably simpler than the F7 approach. Bug space will be simpler. Support of user hardware will be poorer (emulation level rather than sugar-jhbuild level).
*LiveCD + something else, eg usb stick, hybrids. Ie, combine CD's universal booting with usb's modifiablility.
*LiveCD + something else, eg usb stick, hybrids. Ie, combine CD's universal booting with usb's modifiablility.
**LiveCD with generic OS (eg, Edubuntu) plus USB with emulator and image.
**LiveCD with generic OS (eg, Edubuntu) plus USB with emulator and image.
**LiveCD with small OS (eg, PuppyDog) and emulator, plus usb with either image, or just ~olpc filesystem for overlaying.
**LiveCD with small OS (eg, PuppyDog) and emulator, plus USB with either image, or just ~olpc filesystem for overlaying.
*LiveUSB versions of the LiveCD alternatives.
*LiveUSB versions of the LiveCD alternatives.
*Provide images for:
*Provide images for:

Latest revision as of 14:33, 8 July 2008

This article is a stub. You can help the OLPC project by expanding it.
Merge-arrows.gif
It has been suggested that this article or section be merged with Emulating_the_XO. (Discuss)

For a long time, people have wanted it to be easier to try out OLPC software, and easier to develop it. There have been a lot of efforts in various directions, by various people. But the efforts have been scattered, with little coordination, communication, or documentation. This page is created in the hope that it will become such a point of communication.

Efforts and opportunities

Active:

Less active:

  • ???

What else? Please add any efforts you know about. And links to further information, to make it easier for folks to pick up currently inactive efforts. Please use the ~~~~ twiddles to date the information.

Problem space

Key sizes: CD (700MB); USB 1GB; USB 2GB; devel image 1GB; devel image modified for less free space (down to)~300MB; sugar-jhbuild ~3GB; F7 image (something like)~10GB.
Building blocks: xo images; converted xo images; sugar-jhbuild; emulators; Linuxes (F7, Ubuntu, tiny (eg, Puppy Dog)).

Some problem space characteristics:

  • Live usb sticks are much less universally supported than live CD's.
  • Non-free alternatives to qemu tend to be easier to install, and more featureful (vis USB, camera, and sharing with host), but have not yet been used for xo development by as many people, and are thus currently less mature. VirtualBox may be interesting in being more featureful/easy, while still permitting redistribution (eg, on live mumbles).

Random points in design space:

  • LiveCD with devel image-like stripped down F7. This was the approach used by the old 406 livecd. Pilgrim.
  • LiveCD with small Linux plus emulation of shrunk devel image. Probably simpler than the F7 approach. Bug space will be simpler. Support of user hardware will be poorer (emulation level rather than sugar-jhbuild level).
  • LiveCD + something else, eg usb stick, hybrids. Ie, combine CD's universal booting with usb's modifiablility.
    • LiveCD with generic OS (eg, Edubuntu) plus USB with emulator and image.
    • LiveCD with small OS (eg, PuppyDog) and emulator, plus USB with either image, or just ~olpc filesystem for overlaying.
  • LiveUSB versions of the LiveCD alternatives.
  • Provide images for:
    • qemu (current)
    • virtualbox/vmware (under development)
    • anything else?
  • Provide images with:
    • sets of .xol and .xo tuned for different users. Kids; teachers; trying it; developers.
    • turn-key use
  • Emulation supporting:
    • Camera. It's one of the two most popular demo apps, but emulation has never supported it. Most people don't have cameras, so it may not infact be very interesting. Qemu seems unlikely to supported it anytime soon. VirtualBox may, but it's not been tested.
    • Sound. I dropped the ball on this one (Mitchell). I hope to revisit it soon. I'm unsure whether TamTam works on VirtualBox or VMWare.
  • Provide working sugar-jhbuild snapshots. As the full set of host sites are not always available, and everything does not always build.

Priorities

  • The Using QEMU on Windows XP badly needs some attention and cleanup.
  • Now that the emulation pages are no longer linked from the navigation sidebar, it is not clear how anyone is supposed to find out about it. It seems linked only via a low profile link in Developers. Have we given up on people running emulation? MitchellNCharity 14:57, 22 October 2007 (EDT)
  • On Windows (Windows 98, NT, 2000, XP or Vista), it is possible to do a single step install of qemu, kqemu, and a launcher script. Existence proof, launching Ubuntu. All the persistence stuff is irrelevant. We should have one of these.