VirtualBox

From OLPC
Revision as of 04:00, 16 November 2007 by 193.196.64.2 (talk) (Downloading a Pre-converted Image: link)
Jump to: navigation, search

Emulation with VirtualBox

VirtualBox is an emulator released under dual-license as either GPL or commercial software. It runs on either Win32 or Linux host machines, allowing you to run OLPC images within the virtual machine.

Compatibility

  • Official OLPC build 557 is known to work under VirtualBox with both sound and networking (tested on Linux AMD64 host).
  • Official OLPC build 625 is known to work under VirtualBox with networking (tested on Ubuntu Gutsy Linux AMD64 host). aptitude install virtualbox virtualbox-ose-modules-2.6.22-14-generic

Caveats

  • TamTam's CSound library does not appear to be working with build 557.
  • For OLPC work you will likely need to use the GPL VirtualBox release or a purchased copy, as OLPC work does not qualify as either evaluation or personal use. The GPL version does not support the "shared folders" feature. You will need to use ssh, rsync, or another standard Unix mechanism to share files with the image.
    "Personal Use" requires that you use the product on the same Host Computer where you installed it yourself and that no more than one client connect to that Host Computer at a time for the purpose of displaying Guest Computers remotely.[1]. Volunteer OLPC work thus seems likely to qualify as personal use, no? MitchellNCharity 00:57, 2 September 2007 (EDT)
  • On Linux, VirtualBox setup requires a package of kernel modules

Setup

The VMWare/VirtualBox images are converted from the official images using a simple downloading script. You can either download and convert the official images yourself or use a pre-converted image.

Downloading a Pre-converted Image

Pre-converted images are made available periodically to support those who do not have Qemu's tools installed on their workstations. Choose the .zip file for the version you require.

The pre-converted images do not include VirtualBox Machines. Once you have unzipped the downloaded file, continue working from "Create a new VirtualBox Machine" below...

Building an Image from Scratch

  • Download an official devel-ext3 image (<thefile>.img.bz2)
  • bunzip2 <thefile>.img.bz2 - or - ( Windows: bzip2 -d <thefile>.img.bz2 using bzip2.exe from http://www.bzip.org/downloads.html )
  • VBoxManage convertdd <thefile>.img <thefile>.vdi
  • VBoxManage registerimage disk /full/path/to/directory/<thefile>.vdi

Create a new VirtualBox Machine

  • OS Type Linux 2.6
  • Base Memory 512 (recommended for development work, 256 more closely simulates an XO)
  • Boot disk, "Existing", choose
    • <thfile>.vdi (if using hand-built image)
    • <thfile>.vmdk (if using pre-built image)

Edit "Machine" Settings:

  • Choose "Audio", "Enable Audio",
    • "ALSA Audio Driver" (for linux hosts)
    • "DirectSound Driver" (for Windows hosts)

Configure

Once you have booted the machine, you will need to specify a name for yourself and choose an XO colour. You will then need to configure the collaboration server. To do this, pull up the developer's console (<alt>+<=>), and use the "vi" editor to change the configuration file ~/.sugar/default/config to change the "server=" line to "server=olpc.collabora.co.uk".

When this is done, reboot. The virtual XO should now have networking and sound support and should show you a network view with other XOs logged on.

See Also

  • VMWare is an emulation system with similar performance and usage
  • Qemu is an Open Source emulation system