Using QEMU on Windows: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (→‎Starting the OLPC environment: replace obsolete link, no underscores in link, improve text)
(Reorganize to clarify the three different ways to install QEMU. Move all-in-one to the top of the list. Add note about 3DNow support in newer kernels.)
Line 6: Line 6:
'''QEMU''' is a popular emulation environment for Windows and Linux. This page describes how to set it up on a Windows machine.
'''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 [[Build images|provided OLPC images]] in your Windows XP box you must first install an emulator: [[QEMU]] which is an open-source processor emulator. The accelerator, not required, is recommended as a performance booster.
In order to use the [[Build images|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 [[OS images for emulation#VMware Player|VMWare Player]], but regular OLPC builds are for [[QEMU]].
'''Note:''' people have converted some QEMU images to work with [[OS images for emulation#VMware Player|VMWare Player]], but regular OLPC builds are for [[QEMU]].
Line 12: Line 12:


== Getting started ==
== Getting started ==
=== QEMU for beginners ===
=== Option 1) Windows Quickstart ===
Instead of downloading QEMU, KQEMU and a filesystem image separately, this '''[[Emulating the XO/Quick Start/Windows|all-in-one version]]''' has everything in one download. It is a 250MB download that will then use about 1.5G of your disk after it is unzipped and installed. This space usage is approximately the same for all three options.


=== Option 2) QEMU Manager for beginners ===
#First, download this instead for QEMU: [http://www.davereyn.co.uk/download.htm QEMU Manager] It will install QEMU as well.

#First, download this Manager for QEMU: [http://www.davereyn.co.uk/download.htm 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 [http://savannah.nongnu.org/svn/?group=qemu SVN] emulates the 3DNow instructions. A newer Windows binary build is available from the [http://n2.nabble.com/Emulating-8.2-images-on-QEMU-for-windows-td1115692.html OLPC forum at Nabble]. (I don't know if QEMU Manager supports the newe emulator+accelerator versions that have 3DNow support - [[User:Mwarren]]).
#Then create a new virtual machine (red plus on the toolbar).
#Then create a new virtual machine (red plus on the toolbar).
#QEMU Manager has a menu option to install the accelerator driver.
#QEMU Manager has a menu option to install the accelerator driver.
Line 28: Line 32:
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.
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.


=== Windows Quickstart ===
=== Option 3) Piecemeal installation ===
====QEMU Emulator====
Instead of downloading QEMU, KQEMU and filesystem image separately, you can use an '''[[Emulating the XO/Quick Start/Windows|all-in-one version]]''' -- this is a 250MB download that will use about 1.5G of your disk when it is done.

== Piecemeal installation ==
'''QEMU Emulator'''


#Download QEMU for Windows from [http://www.h7.dion.ne.jp/~qemu-win/ here]. (Note: You want the binary installer, with a name like "qemu-0.9.0-windows.zip".)
#Download QEMU for Windows from [http://www.h7.dion.ne.jp/~qemu-win/ here]. (Note: You want the binary installer, with a name like "qemu-0.9.0-windows.zip".)
Line 38: Line 39:
#if you want, proceed with the accelerator below, if not go to [[Using QEMU on Windows XP#Download an OLPC image|downloading the image]]
#if you want, proceed with the accelerator below, if not go to [[Using QEMU on Windows XP#Download an OLPC image|downloading the image]]


'''QEMU Accelerator'''
==== Accelerator for QEMU (named KQEMU) ====


The [http://fabrice.bellard.free.fr/qemu/kqemu-doc.html QEMU Accelerator] 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 <tt>kqemu-1.3.0pre11.tar.gz</tt>.
The [http://bellard.org/qemu/kqemu-doc.html 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 <tt>kqemu-1.3.0pre11.tar.gz</tt>. For newer versions of QEMU with 3DNow support, use <tt>[http://bellard.org/qemu/download.html kqemu-1.4.0pre1.tar.gz]</tt>.


:''kqemu is also available from the same source as qemu. Is there some reason we are using the following instead? [[User:MitchellNCharity|MitchellNCharity]] 15:11, 22 October 2007 (EDT)''
:''kqemu is also available from the same source as qemu. Is there some reason we are using the following instead? [[User:MitchellNCharity|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
::''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


#Download the QEMU Accelerator Module from [http://fabrice.bellard.free.fr/qemu/download.html here]
#Download the QEMU Accelerator Module from [http://bellard.org/qemu/download.html here]
#[[Unzip]] the <tt>kqemu-''version''.tar.gz</tt> file into a directory (ie: <tt>C:\Program Files\Qemu\KQemu-''version''</tt>)
#[[Unzip]] the <tt>kqemu-''version''.tar.gz</tt> file into a directory (ie: <tt>C:\Program Files\Qemu\KQemu-''version''</tt>)
#*may have to [[unzip]] it twice given the file format.
#*may have to [[unzip]] it twice given the file format.
#In the target directory, locate <tt>kqemu.inf</tt> and install it (menu/right-click and select <tt>Install</tt>). Let it finish (it'll take just a couple of seconds).
#In the target directory on Windows XP, locate <tt>kqemu.inf</tt> and install it (menu/right-click and select <tt>Install</tt>). 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:<br /><tt>rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 kqemu.inf</tt>
#Open a <tt>command prompt</tt> (aka <tt>cmd.exe</tt>) and type
#Open a <tt>command prompt</tt> (aka <tt>cmd.exe</tt>) and type
#*<tt>net start kqemu</tt>
#*<tt>net start kqemu</tt>
Line 54: Line 56:
#**<tt>The KQEMU virtualisation module for QEMU service was started successfully.</tt>
#**<tt>The KQEMU virtualisation module for QEMU service was started successfully.</tt>


''You can also use an [[Emulating the XO/Quick Start/Windows|all-in-one version]]; see below.''
''You can also use an [[Emulating the XO/Quick Start/Windows|all-in-one version]]; see above.''




=== Download an OLPC image ===
== Download an OLPC image ==


Then you need to download a drive image, so go to [[Build_images#Latest_Stable_Build|Latest Stable Build on the OS Images page]] and navigate to the <tt>ext3</tt> subdirectory (this has images for the ''ext3'' filesystem; if you want to use development tools, navigate to <tt>devel_ext3</tt>).
To download the latest OLPC environment (aka drive image), visit [[Build_images#Latest_Stable_Build|Latest Stable Build on the OS Images page]] and navigate to the <tt>ext3</tt> subdirectory (this has images for the ''ext3'' filesystem; if you want to use development tools, navigate to <tt>devel_ext3</tt>).
The image you want will be named something like
The image you want will be named something like
<tt>olpc-redhat-stream-development-build-''num''-''date''_ext3.img.bz2</tt>
<tt>olpc-redhat-stream-development-build-''num''-''date''_ext3.img.bz2</tt>
Line 65: Line 67:
After you've downloaded the image, you must [[unzip]] it (using a program that understands the [http://en.wikipedia.org/wiki/Bz2 bz2] format) and place the <tt>.img</tt> file in the same directory as [[QEMU]] (ie: <tt>C:\Program Files\Qemu</tt>).
After you've downloaded the image, you must [[unzip]] it (using a program that understands the [http://en.wikipedia.org/wiki/Bz2 bz2] format) and place the <tt>.img</tt> file in the same directory as [[QEMU]] (ie: <tt>C:\Program Files\Qemu</tt>).


=== Starting the OLPC environment ===
==== Starting the OLPC environment ====


Before you launch the emulated image, we '''strongly''' recommend reading through the '''[[Getting started]]''' pages on how to use the environment -- this does not look like the Windows or Mac operating systems!
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 <tt>command prompt</tt> (aka <tt>cmd.exe</tt>) 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!)
Open a <tt>command prompt</tt> (aka <tt>cmd.exe</tt>) 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!)
Line 91: Line 93:
'''NOTE:''' There are a '''[[Using QEMU on Windows XP#Troubleshooting|some issues]] (mainly for the first timers)''' on how to get the whole enchilada going.
'''NOTE:''' There are a '''[[Using QEMU on Windows XP#Troubleshooting|some issues]] (mainly for the first timers)''' on how to get the whole enchilada going.


=== Closing the OLPC image ===
== 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:
To close the OLPC "window" you must first go into the QEMU monitor screen and then quit. You do that by:

Revision as of 00:01, 11 November 2008

< Emulating the XO | Quick Start

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


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 Quickstart

Instead of downloading QEMU, KQEMU and a filesystem image separately, this all-in-one version has everything in one download. It is a 250MB download that will then use about 1.5G of your disk after it is unzipped and installed. This space usage is approximately the same for all three options.

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