QEMU
modify |
QEMU is the best supported emulation system for emulating the OLPC-XO's Sugar environment. Many developers use QEMU to help set up their working environment.
You will almost certainly want to get the KQemu accelerator if you intend to use QEMU, as without it performance can be quite poor. On Windows and Mac, there are GUI wrappers available. Most Linux users tend to use the command-line approach to the program.
QEMU is an Open Source processor emulator which can run the official OLPC ext3 images directly. This means that no extra conversion or processing is required to run the images. As a result, a much wider range to images is available immediately than is seen with other emulation packages (such as VMWare or VirtualBox).
Getting Started
The Emulating the XO/Quick Start page is a tutorial on how to set up Qemu for emulating the OLPC environment.
Platform Specific Instructions
- Emulating the XO/Quick_Start/Linux
- Using QEMU on Windows
- How_to_set_up_for_development_on_linux_emulation
- Sugar on MacOS X
Images
QEMU can work directly with the official OLPC ext3-variants of images (note, not the JFFS2 images).
Qemu Tips
Sharing Files
Sharing files with the client machine can be done using any general IP networking solution (scp, sftp, source-code-control). The host machine is normally located at IP address 10.0.2.2 as seen from the emulated machine.
Overlays
Qemu's "Copy on Write" overlays can be used to create (temporary) "scratch spaces" in which you can accomplish risky or messy tasks. The overlays work by specifying a read-only root disk image (such as the one that you downloaded above) and a second overlay image into which all writes will be performed (including deletions).
qemu-img create -f qcow -b olpc-649.img olpc-649-test.qcow
You can then use the olpc-649-test.qcow as your primary storage without causing any writes to the base image.
Mouse Sensitivity
If the cursor is too sensitive, the X mouse sensitivity can be changed from the terminal with xset. Open a terminal activity and type:
xset m 1 0
The second parameter (1 in this example) adjusts the sensitivity, and can be adjusted as needed. See also:
Pages discussing QEMU:
- Emulating the XO/Quick Start -- describes the basic setup process to get a working QEMU environment
- Remote_display#Fourth_Method_.28if_you_don.27t_have_an_XO.29 -- use QEMU to provide VNC server for remote Sugar access