From owner-freebsd-hackers@FreeBSD.ORG Tue Jun 11 14:54:32 2013 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D2CF3445; Tue, 11 Jun 2013 14:54:32 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) by mx1.freebsd.org (Postfix) with ESMTP id A324218D9; Tue, 11 Jun 2013 14:54:32 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id r5BEsVSd025953; Tue, 11 Jun 2013 14:54:31 GMT (envelope-from kientzle@freebsd.org) Received: from [192.168.2.123] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id 7g77xdnp8vct8u55fg4axect7i; Tue, 11 Jun 2013 14:54:31 +0000 (UTC) (envelope-from kientzle@freebsd.org) Subject: Re: Beyond Buildworld Dev Summit Working Group Report Mime-Version: 1.0 (Apple Message framework v1283) Content-Type: multipart/signed; boundary="Apple-Mail=_2242A02B-12A6-48B3-B145-7A455009F833"; protocol="application/pgp-signature"; micalg=pgp-sha1 From: Tim Kientzle In-Reply-To: <20130611050234.GB1627@glenbarber.us> Date: Tue, 11 Jun 2013 07:54:29 -0700 Message-Id: References: <8FC4A83C-0C91-471A-9962-1A67FE115A67@freebsd.org> <20130611050234.GB1627@glenbarber.us> To: Glen Barber X-Mailer: Apple Mail (2.1283) Cc: FreeBSD Hackers X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Jun 2013 14:54:33 -0000 --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--