Emulating the XO/Quick Start

From OLPC
< Emulating the XO
Revision as of 17:16, 11 January 2008 by MitchellNCharity (talk | contribs) (added link to old version, to support any users while revisions are in progress)
Jump to: navigation, search
  english | español | 日本語 | português | 中文 HowTo [ID# 95515]  +/-  

This page will help you get a look at the XO software, by running a "virtual XO" in an emulator. Another option is burning a LiveCd.

This page is being revised. Until that is completed, non-Windows users may find the old version easier to use.

Who should read this page

If you don't have access to an actual XO laptop but have some time, patience, and would like to get a taste of how the software looks and feels, this page will guide you through running an emulated XO laptop on your non-XO machine (desktop, laptop, etc). This means that your computer will pretend to be an XO - minus some of the special hardware features.

No programming/Linux experience is assumed, but patience and a sense of humor are required; getting emulation running can be tricky. Estimated time to completion is 30 minutes to 4 hours, depending on your system and experience.

If you have any questions or suggestions on how to improve this walkthrough, please contact Mitra.

Minimum system requirements

  • For system emulation, the following hardware targets are supported:
   * PC (x86 or x86_64 processor)
   * ISA PC (old style PC without PCI bus)
   * PREP (PowerPC processor)
   * G3 BW PowerMac (PowerPC processor)
   * Mac99 PowerMac (PowerPC processor, in progress)
   * Sun4m/Sun4c/Sun4d (32-bit Sparc processor)
   * Sun4u (64-bit Sparc processor, in progress)
   * Malta board (32-bit and 64-bit MIPS processors)
   * ARM Integrator/CP (ARM)
   * ARM Versatile baseboard (ARM)
   * ARM RealView Emulation baseboard (ARM)
   * Spitz, Akita, Borzoi and Terrier PDAs (PXA270 processor)
   * Luminary Micro LM3S811EVB (ARM Cortex-M3)
   * Luminary Micro LM3S6965EVB (ARM Cortex-M3)
   * Freescale MCF5208EVB (ColdFire V2).
   * Arnewsh MCF5206 evaluation board (ColdFire V2).
   * Palm Tungsten|E PDA (OMAP310 processor) 

For user emulation, x86, PowerPC, ARM, 32-bit MIPS, Sparc32/64 and ColdFire(m68k) CPUs are supported.

  • Users should have a minimum of 1 GB of hard disk space available to store the image of the software.

What to expect

This "virtual XO" was created as a software development tool. It is not intended for general use, and many things will not work. It is "just to get a taste" of what the laptop is like (and to help software developers). With time and people constraints, we are focused on the real XO.

  • The camera and video will not work.
  • Things are slower than on the actual machine. If you are unable to install qemu's kqemu accelerator, very much slower.
  • You will see a snapshot of the past. The instructions will have you download the "latest stable build", which is sometimes quite a few weeks old. Development is very rapid. Things will be missing or different compared with the present.
  • While rapidly maturing, this is still "alpha" software.
  • TamTam, the popular music program, will likely not work (no sound).

Qemu for other Operating Systems

Getting Qemu for Other Operating Systems:

How to Start (Windows)

  • In order to start emulating the OLPC software, you will first need an emulator called QEMU, which can be found here. On the download page click the link with the name: qemu-0.9.0-windows.zip. Download the file to your desktop.
    • In order to use a .zip file you will need a program that has the capability to extract certain file types, we suggest WinRar which can be found here. Download WinRar 3.71, which should be the first link on the page. Install the program and you should now be able to "unzip files".
  • Now that you have the program extract the files to your desktop like so:


Extract.jpg

  • You will now have a folder on your desktop called: qemu-0.9.0-windows. In order to use the QEMU program, we need to create a folder in the Program Files directory, and name it Qemu. So, navigate to your Program Files Page, which will look like this:

Programf.jpg

    • In order to create a new folder, right-click, and go to New > Folder. A new folder should appear, and then edit the name to be Qemu.


Newfold.jpg

  • Now, go back to your desktop and open up the qemu-0.9.0-windows folder; you should see many files. Select all the files in the folder by pressing Control + A. Then press right click and "cut" the files out of the folder. After that, go back to your newly created Program Files folder, and press right click and "paste" the files into the folder.

Cut.jpg

Paste.jpg

  • Qemu is now installed.

KQEMU

  • Kqemu is an accelerator module for the Qemu emulator which improves performance on many systems.
  • First, download the the module from here. The stable version is kqemu-1.3.0pre11. Click on the link provided, and download the file to your desktop. As before, extract the files to the desktop by right-clicking on the file, and hitting "Extract Here". This time, instead of going into the folder and cutting all of the files separately, cut the entire folder at once, and paste it into your Qemu Program Files Folder.

Foldercut.jpg

Updatef.jpg

  • Now that you have the accelerator folder in your main Qemu folder, it is time to install Kqemu so that the main program can access it. Navigate to your Program Files Folder, go to Qemu, and then to the folder that you just pasted in. You will find many different files, but the one that you are interested in is the one named: kqemu.inf:

Kqemui.jpg

  • Right Click the file, and hit "Install". It should only take a few seconds, and then the module should be installed.
  • Now we are going to start the module so that when you run the emulator it can access it.
    • Hit the start button, or Windows Key and then hit the "Run" button:

Start.jpg

  • Type in "cmd.exe" into the box that pops up:

Run.jpg

  • You should have the command prompt:

Cmdp.jpg

  • Then type in:
net start kqemu
  • If the startup is successful you should see a dialog:
The KQEMU virtualisation module for QEMU service was started successfully.

Getting the Image

  • Now that we have the basic emulator set up, its time to get the actual image that will allow us to utilize the OLPC Software. All the latest images can be found here. Click on "update.1", then "latest", "devel_ext3", and then click on the image named: olpc-redhat-stream-update.1-build-657-20071212_1519-devel_ext3.img.bz2. (This is currently the latest build of the software, but feel free to go ahead and try any of the other images on the site).
    • If you do not wish to look for other images, a direct link to latest one is here. Download the image to your desktop.
  • Using WinRar, as before right-click and "Extract Here" to extract the image to your desktop. Then, cut that file, and paste it into your Qemu Program Files Folder:

Image.jpg

The Final Steps

  • You are now ready to use QEMU to emulate the software.
    • As before, go to the start button, and hit "run" - and then type in "cmd.exe".
  • Now type into the box the following:
cd "\Program Files\Qemu"
qemu -L . -m 256 -kernel-kqemu -soundhw es1370 -net user -net nic,model=rtl8139 -hda (image name here)
  • In this case the "image name" would be olpc-redhat-stream-update.1-build-657-20071212_1519-devel_ext3.img.
    • NOTE: When entering the code remember that this section: "model=rtl8139" should be spelled with a letter L for rtl and not the number 1 for rt1
  • If the process is a success, a window should open up with the name QEMU:


  • 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.
  • You can now use the OLPC Software, and experience the innovation of the XO on your own computer!

Easily starting up the Emulation

  • One problem with this method is that every time that you wish to run the emulation, you will need to open up the Command Prompt and type in the long code shown above.
    • A solution to this problem is to create a .bat file which will with one click will automatically run the script for you.
  • In order to do this, open up your "Notepad" which can easily be opened by opening the "Run" dialog and typing in "notepad".
    • Then type in this code:
cd "\Program Files\Qemu"
qemu -L . -m 256 -kernel-kqemu -soundhw es1370 -net user -net nic,model=rtl8139 -hda  olpc-redhat-stream-update.1-build-657-20071212_1519-devel_ext3.img
pause
  • It should look like this:

Bat.jpg

  • Now, go to File > Save and name it name_here.bat:

Saveas.jpg

  • Save this file to your desktop and you can now click on this file at any time to run the OLPC Emulation.

Note: when you see the X with the circle on top it is running OK. Enter you name and move the cursor to one of the corners to see the menus of sugar. I would like to see a right click bring up a menu bar (in addition)

You can also get other Help and tips on emulating Sugar.

When running under emulation, the sugar fonts will appear very tiny until you set the screen to 200 dpi.


Other Notes

If qemu responds with an error like "qemu: could not load PC bios '/c/Program Files/Qemu/bios.bin'" when trying to run it in the command prompt then you may have to use qemu's -L option to specify the directory where you installed qemu, which contains the bios.bin file. If you're using a 64 bit processor, you need to run the command 'qemu-system-x86_64' instead of 'qemu'.

Note that qemu by default gives 128 MB RAM, but according to Hardware_specification recent XO HW have 256 MB, that's why the "-m 256". To test for early XO HW (or later with more), change the -m param. Giving 256 MB RAM appears to have a noticeable effect on speed in the emulator (as I'm sure in the real HW ;)).

You should now have a running "virtual XO"