Running One Laptop Per Child software bundles in QEMU

Please see Emulating the XO/Quick Start/Windows for additional details.

Quick Instructions

The link above has a newer revision of this installer.
  1. Download (4.5MB).
  2. Double-click the file — it should open the compressed file contents and show one directory, called olpc
  3. Drag and drop this "olpc" directory somewhere, C:\ is recommended, but you may use a different directory
  4. Enter the olpc directory and double-click start-olpc.cmd.  
    The KQEMU accelerator requires Administrative privileges; if you are running Windows Vista, right-click the file and select Run as administrator.  This is optional as the QEMU emulator will work fine, albeit far slower, without the accelerator.  
  5. Enjoy!  The script will download, unpack and then run the 8.2.0, build 767 OLPC disk image; the downloaded disk image is about 186 MB and then uses 1.2GB of disk after being uncompressed.
What do the scripts do?

The start-olpc.cmd script starts up the QEMU emulator following these steps:
  1. Checks if the KQEMU accelerator is installed; if not, install it
  2. Start the accelerator
  3. Look for an *.img image file; if none are found, call get-image.cmd
  4. Start the QEMU emulator with the first *.img found; prioritize .qcow2.img copy-on-write files first
  5. After QEMU exits, stop the KQEMU accelerator
The get-image.cmd script downloads an OLPC software image following these steps:
  1. Checks whether proxy servers are needed
  2. Download a base image file from using curl
  3. Uncompress the image file with bunzip2
  4. Create a copy-on-write, .qcow2.img file linked to the base image to allow for easy reversion to the base image
Note to Cygwin users: the curl.exe and bunzip2.exe executables used by get-image.cmd rely on the cygwin1.dll.  Loading multiple versions of cygwin1.dll at the same time may cause problems.  I am looking for alternative executables to replace curl and bunzip2 to avoid possible conflicts.

Why provide another QEMU bundle?

Newer releases of the OLPC software require an updated version of QEMU and KQEMU to emulate the 3DNow instructions used by OLPC kernels. The file below started with the older and then was updated with a newer QEMU built from svn-4887 by Ton van Overbeek  and the newer QEMU Accelerator (KQEMU) version 1.4.0pre1 from Fabrice Bellard.

To reduce the size of the file enough to host it here, the OLPC image file was removed and replaced by cwRsync along with curl and bunzip from Cygwin.  These tools are used by the get-image.cmd script to automatically download and prepare OLPC disk images from download.laptop.orgPuTTY is included as well to provide a way to SSH into the emulated OLPC using the address, port 2222.
M. Warren,
Nov 14, 2008, 3:40 PM