Using QEMU on Windows

From OLPC
Revision as of 16:24, 5 August 2010 by 190.96.224.120 (talk) (Option 1) Windows Quick Start)
Jump to: navigation, search

< Emulating the XO | Quick Start

  english | español | francais | 日本語 | 한국어 | português HowTo [ID# 242954]  +/-  


QEMU is a popular emulation environment for Windows and Linux. This page describes how to set it up on a Windows machine.

In order to use the provided OLPC images in a Windows computer, first install an emulator: QEMU which is an open-source processor emulator. The accelerator for QEMU named KQEMU, while not required, is highly recommended as a performance booster.

Note: people have converted some QEMU images to work with VMWare Player, but regular OLPC builds are for QEMU.


Getting started

=== Option 1) Windows Quick Start === Instead of downloading QEMU, KQEMU and a filesystem image separately, this all-in-one version has everything in one download. === Opción 1)  Windows de inicio rápido === En lugar de descargar QEMU, KQEMU y una imagen de sistema de archivos por separado, este todos -en una versión  tiene todo en una sola descarga. It is a 190MB download that will then use about 1.5G of your disk after it is unzipped and installed. Es una descarga de 190MB, que luego se usan cerca de 1.5G de su disco después de   descomprimido e instalado. The disk space used is approximately the same for all three options. El espacio en disco utilizado es de aproximadamente el mismo para las tres opciones.

Option 2) QEMU Manager for beginners

  1. First, download this Manager for QEMU: QEMU Manager It will install QEMU as well.
    • Newer (Sept 2008) OLPC builds use the 2.6.25 kernel which checks for the availability of AMD's 3DNow extension and if the kernel does not find them it refuses to boot. More recent QEMU and KQEMU code in SVN emulates the 3DNow instructions. A newer Windows binary build is available from the OLPC forum at Nabble. (I don't know if QEMU Manager supports the newe emulator+accelerator versions that have 3DNow support - User:Mwarren).
  2. Then create a new virtual machine (red plus on the toolbar).
  3. QEMU Manager has a menu option to install the accelerator driver.
  4. Then set up the virtual machine options (hammer on the toolbar) to match the following (it worked for me):

Press the play icon on the toolbar to start the virtual machine. With these network settings it will able to install packages by using the "yum" command.

Option 3) Piecemeal installation

QEMU Emulator

  1. Download QEMU for Windows from here. (Note: You want the binary installer, with a name like "qemu-0.9.0-windows.zip".)
  2. Since there's no installation step, just unzip it into any directory (ie: C:\Program Files\Qemu)
  3. if you want, proceed with the accelerator below, if not go to downloading the image

Accelerator for QEMU (named KQEMU)

The Accelerator for QEMU (named KQEMU) is a driver allowing the QEMU PC emulator to run much faster when emulating a PC on an x86 host. The latest stable is currently kqemu-1.3.0pre11.tar.gz. For newer versions of QEMU with 3DNow support, use kqemu-1.4.0pre1.tar.gz.

kqemu is also available from the same source as qemu. Is there some reason we are using the following instead? MitchellNCharity 15:11, 22 October 2007 (EDT)
The kqemu release on http://www.h7.dion.ne.jp/~qemu-win/ is an installer. Whereas this release is a simple, portable folder. That's probably why it's preferred - BP 20th Nov 2007
  1. Download the QEMU Accelerator Module from here
  2. Unzip the kqemu-version.tar.gz file into a directory (ie: C:\Program Files\Qemu\KQemu-version)
    • may have to unzip it twice given the file format.
  3. In the target directory on Windows XP, locate kqemu.inf and install it (menu/right-click and select Install). Let it finish (it'll take just a couple of seconds).
    • In Windows Vista, install KQEMU with this command line from an Administrator CMD prompt:
      rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 kqemu.inf
  4. Open a command prompt (aka cmd.exe) and type
    • net start kqemu
    • If everything went fine, you should see the following message:
      • The KQEMU virtualisation module for QEMU service was started successfully.

You can also use an all-in-one version; see above.


Download an OLPC image

To download the latest OLPC environment (aka drive image), visit Latest Stable Build on the OS Images page and navigate to the ext3 subdirectory (this has images for the ext3 filesystem; if you want to use development tools, navigate to devel_ext3). The image you want will be named something like olpc-redhat-stream-development-build-num-date_ext3.img.bz2

After you've downloaded the image, you must unzip it (using a program that understands the bz2 format) and place the .img file in the same directory as QEMU (ie: C:\Program Files\Qemu).

Starting the OLPC environment

Before you launch the emulated image, we strongly recommend reading through the Getting started pages that explain how to use the OLPC/Sugar GUI environment -- Sugar does not look like the Windows or Mac operating systems!

Open a command prompt (aka cmd.exe) in the QEMU directory and launch qemu.exe using the appropriate image and "-L ." as first argument, and further arguments as explained on Emulating the XO/Quick Start: (At the time of writing, the arguments are as shown below, but this can change/evolve, so please check the Quick Start page for the latest recommended arguments first!)

cd "\Program Files\Qemu"
qemu.exe -L . -m 256 -kernel-kqemu -soundhw es1370 -net user -net nic,model=rtl8139 -hda image_name

Where image_name is the newest version you have downloaded. For example:

qemu.exe -L . -m 256 -kernel-kqemu -soundhw es1370 -net user -net nic,model=rtl8139 -hda olpc-redhat-stream-development-build-185-20061117_2030-devel_ext3.img

The emulator will start in a new window, and will soon display the OLPC 'XO' logo and 'Booting OLPC for qemu target in nn seconds'. (If it does not, then press any key to go to the GRUB menu and choose the 'OLPC for qemu target' option. You need to boot the emulator, not the OLPC hardware.)

Then you will see a typical Linux boot sequence ending in a dialog asking for your nickname.

As a reminder: pressing Alt + Ctrl in the emulator will "liberate" the keyboard and mouse, returning control to Windows.

NOTE: There are a some issues (mainly for the first timers) on how to get the whole enchilada going.

Closing the OLPC image

To close the OLPC "window" you must first go into the QEMU monitor screen and then quit. You do that by:

  1. Make sure the window has the focus (label should say QEMU - Press Ctrl-Alt to exit grab).
  2. Press Alt + Ctrl + 2 to enter the QEMU Monitor (may need shift as well on some computers: Alt + Ctrl + Shift + 2)
  3. Type quit or q to quit.

Please update User Feedback on Images#QEMU on Windows with your experience.

Troubleshooting

See Emulating the XO/Help and tips.

From some info found [here.]