Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jun 2013 07:54:29 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        Glen Barber <gjb@freebsd.org>
Cc:        FreeBSD Hackers <hackers@freebsd.org>
Subject:   Re: Beyond Buildworld Dev Summit Working Group Report
Message-ID:  <F3BF3B6C-AB53-4E35-A049-CCF930C6F2BE@freebsd.org>
In-Reply-To: <20130611050234.GB1627@glenbarber.us>
References:  <DDED955A-C7D1-409E-BEA8-DED8538AA47C@neville-neil.com> <8FC4A83C-0C91-471A-9962-1A67FE115A67@freebsd.org> <20130611050234.GB1627@glenbarber.us>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_2242A02B-12A6-48B3-B145-7A455009F833
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On Jun 10, 2013, at 10:02 PM, Glen Barber wrote:

> On Mon, Jun 10, 2013 at 09:25:39PM -0700, Tim Kientzle wrote:
>>> 	=95 Crochet with VM images [TimKeintzle], [GlenBarber], =
[ColinPercival]
>>=20
>> Per Colin, there's no way for "mere mortals" to upload machine
>> images to Amazon, so there's little point in pursuing that.
>>=20
>> I did recently add support to Crochet for building VMWare VM images
>> directly.  Works pretty well; I've been using it to build throw-away
>> images for testing.  This goes a step further than what Glen
>> has recently announced; so far, he's just building the VMDK disk
>> image, Crochet fills in the rest of the VM configuration files.
>>=20
>> It should be routine to duplicate the approach to support other
>> VM environments (e.g., Parallels, VirtualBox, OFA).  My time is
>> limited but I'm happy to assist if someone else wants to work on it.
>>=20
>=20
> I do intend to look at how Crochet does this, because I think your
> implementation is far more user friendly and cross-application
> compatible.
>=20
> I'll certainly pick your brain on it, if you don't mind.=20

Key point:  VM images are directories which contain
a number of different files.  The disk image is just one
of those.  For VMWare (and others I've looked at), the
VM directory contains:

* Disk image - this can be a straight disk image (which
   is what Crochet currently uses) or a
   structured/sparse/compressed "virtual disk"
=20
* Disk descriptor -- this specifies the format of the disk
   image and the parameters of the virtual disk drive.

* VM descriptor -- this describes the rest of the virtual
   hardware.

VMWare seems to be the simplest of the ones I've
looked at:  the descriptor files are lists of key/value pairs
and the VMWare software can boot a VM even from
a pretty skeletal definition.  It didn't take me very many
tries to get Crochet to build a VMWare image that
VMWare Fusion was comfortable booting.  It helps
that the VMWare file formats are pretty well documented:
In particular:  http://sanbarrow.com

Parallels and OFA both use more complex XML configuration
files -- everything has an ID and there are lots of cross-references.
I've toyed with building Parallels VMs but haven't gotten
very far yet.

qemu-img seems like a nice tool for generating a virtual disk image,
but it doesn't currently know how to create compressed
VMWare disks.  I've skimmed VMWare's documentation and
it doesn't look too hard to build a compressed VMWare disk
if someone would like to tackle that.  ;-)

Tim


--Apple-Mail=_2242A02B-12A6-48B3-B145-7A455009F833
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)

iQEcBAEBAgAGBQJRtzomAAoJEGMNyGo0rfFBq68H/iWlwnyjZtxDAwOOrNOrf5+C
4nx5yGRUXm5uZPqAecQvNs6C8ENZXmDS93woKfsrUcFdYeFJXr+XNCMGaRUFUm/W
OuH5ls+aKuM4gWCdSiPiiTgIeeGEvtDoMBj2tNB/1Neq43b4gBS7DA1IeEcbLdoF
E1z5uZ3DAtUN+ZjPMtxkONzDum6shtDODNtIlX+uNeKKCMSP0Yxw/8gv9hWOG6j7
E40SX65uhEUyYqsrrlIXlJSO3K4wrB7k/eOAOflKcQz8FYfs2r211ouN0H58E5Ey
hnpC5FKdjhCMFK2MIwfqDs9ki8p5J38P3dOik5vkuICYbDH5OmQ3aa3XDZE390s=
=v8Zi
-----END PGP SIGNATURE-----

--Apple-Mail=_2242A02B-12A6-48B3-B145-7A455009F833--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F3BF3B6C-AB53-4E35-A049-CCF930C6F2BE>