Auto-building emulator downloads

Mike C. Fletcher mcfletch at
Sun Aug 26 15:01:07 EDT 2007

We are getting very close to having fully-working VMWare and VirtualBox 
emulation.  Qemu still seems to have some problems with network and 
sound, but those seem solvable.  We are probably to the point where we 
can consider auto-building emulator packages for download from the 
official images.  It's not that the building is all that complex, but 
it's a lot of fiddly steps for people to have to go through for every 
release they want to try.

To start addressing that, I've hacked together a quick script that 
downloads the official images and uses qemu and VirtualBox to generate 
VirtualBox and VMWare images.  It also has commented-out code that 
attempts to merge in an "overlay" directory before doing the conversion, 
but so far I haven't got that to actually work (mostly because merging 
the config file I want to merge (the server setting 
in .sugar/default/config) seems to kill some logic so that resulting 
images won't display the initial login prompt).

Eventually we'd want the overlay to have all the developer-specific 
stuff people need, developer documentation links, scripts for setting up 
links with the host machine for development, all that fun stuff.  That 
is, we'd want a developer to be able to download the image and just 
start working.  Super-cool extra points if we can arrange to have a 
separate disk as a *run-time* overlay so that the developers can update 
the image to current build while keeping their work and settings (that's 
beyond my Fedora-foo, I'm afraid).

What we'd need to work this is a box somewhere with fast access (for 
sharing the eventual products), qemu and VirtualBox installed, and the 
ability to have the user running the script mount/unmount loopback files 
(for the overlay-integration stuff).  At the moment it's a bit hacky 
about determining versions (just checks the md5 sum against everything 
it has downloaded), I suppose it could download the ftp-over-http 
directory listing to determine available builds.

VMWare is already handled fairly straightforwardly, the script produces 
files from a template file, though the settings in that template are 
just the values I happen to use (a more stable set might be useful).  
VirtualBox doesn't *appear* to have an easy way to ship a machine+disk 
image set, it wants the images registered separately from the machines.  
I don't have all that much experience with the package, though, so it 
may have a way to set up a simple download.

Anyway, the script, the current VMWare template and the rest is 
available via bzr with:

    bzr branch

Have fun all,

  Mike C. Fletcher
  Designer, VR Plumber, Coder

More information about the Devel mailing list