Auto-building emulator downloads
Mike C. Fletcher
mcfletch at vrplumber.com
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 olpc.collabora.co.uk 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 http://www.vrplumber.com/bzr/buildemulator
Have fun all,
Mike C. Fletcher
Designer, VR Plumber, Coder
More information about the Devel