<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5135620205688079509</id><updated>2011-07-30T16:41:45.716-07:00</updated><title type='text'>Hacking VMware Studio</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-6691210782064817292</id><published>2010-06-25T10:41:00.000-07:00</published><updated>2010-06-25T11:14:08.740-07:00</updated><title type='text'>Create a bootable ISO installer from your VMDK disk files</title><content type='html'>I've run into a situation where I need to distribute a VM as a bootable ISO image, not the usual VM descriptor file + disk image(s).&lt;br /&gt;&lt;br /&gt;Getting this to work was a little hacky but not too hard. My idea was to create a rescue CD/DVD ISO image file with an automated installer and the target VM filesystem contents.&lt;br /&gt;&lt;br /&gt;The overall process looks like this:&lt;br /&gt;&lt;br /&gt;1. build your appliace as usual&lt;br /&gt;2. use VDDK to extract the full filesystem contents of your VM to one or more archive files&lt;br /&gt;3. extract the contents of a Linux rescue CD (sysresccd) to a temporary file tree&lt;br /&gt;4. copy the VA filesystem archives to the root directory of the rescue cd files (isoroot)&lt;br /&gt;5. drop in an installer shell script named "autorun" into the isoroot&lt;br /&gt;6. roll up the new ISO image via mkisofs&lt;br /&gt;&lt;br /&gt;First I downloaded sysresccd from &lt;a href="http://www.sysresccd.org/Main_Page"&gt;http://www.sysresccd.org/Main_Page&lt;/a&gt; and VMware's virtual disk access application VDDK from &lt;a href="http://www.vmware.com/support/developer/vddk/"&gt;http://www.vmware.com/support/developer/vddk/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I do all my development on Linux (CentOS5 amd64) so to install VDDK I first had to install fuse and fuse-lib via "yum -y install fuse fuse-lib". After that I could expand the VDDK compressed tarball and run its vmware installer.&lt;br /&gt;&lt;br /&gt;The "autorun" script performs the following functions:&lt;br /&gt;&lt;br /&gt;a. sanity checks the system using dmidecode (to make sure it's not going to wipe out your workstation hard drive by accident)&lt;br /&gt;b. autopartitions the first hard drive it finds (sda) by piping partition data to fdisk&lt;br /&gt;c. formats the new partitions&lt;br /&gt;d. mounts the new parttions&lt;br /&gt;e. transfers the filesystem contents from the compressed tar archives &lt;br /&gt;f. verify file checksums to ensure the transfer wasn't corrupted&lt;br /&gt;g. update fstab and other config files if necessary&lt;br /&gt;h. reboots&lt;br /&gt;&lt;br /&gt;The ISO image is only ~12MB more than the OVF/OVA due to good compression of the appliance filesystem contents in the ISO image. The bulk of sysresccd is hardly noticed. &lt;br /&gt;&lt;br /&gt;Cool eh?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-6691210782064817292?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/6691210782064817292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=6691210782064817292' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/6691210782064817292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/6691210782064817292'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2010/06/create-bootable-iso-installer-from-your.html' title='Create a bootable ISO installer from your VMDK disk files'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-8534393642910717266</id><published>2010-02-09T11:43:00.000-08:00</published><updated>2010-02-09T11:56:58.940-08:00</updated><title type='text'>Renaming OVF files</title><content type='html'>Studio2 creates both OVF v0.9 and OVF/OVA 1.0 specification files for VI3 and vSphere4 support respectively. Unfortunately Studio2 uses hardcoded filename suffixes of "OVF09" and "OVF10" to describe the two which doesn't really mean anything to a user who's trying to decide which variant to download.&lt;br /&gt;&lt;br /&gt;To correct this naming issue you can edit the suffix hardcodes easily enough. Login to your studio2 vm as root and edit the following file:&lt;br /&gt;&lt;br /&gt;/opt/vmware/lib/build/VADK/Constants.pm:&lt;br /&gt;&lt;br /&gt;Replace the following section:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#&lt;br /&gt;# OVF/OVA filename constants. These must agree with mkovf.&lt;br /&gt;#&lt;br /&gt;use constant OVF09FILESUFFIX    =&gt; '_OVF09.ovf';&lt;br /&gt;use constant OVF10FILESUFFIX    =&gt; '_OVF10.ovf';&lt;br /&gt;use constant OVF10OVAFILESUFFIX =&gt; '_OVF10.ova';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;...With:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#&lt;br /&gt;# OVF/OVA filename constants. These must agree with mkovf.&lt;br /&gt;#&lt;br /&gt;#use constant OVF09FILESUFFIX    =&gt; '_OVF09.ovf';&lt;br /&gt;#use constant OVF10FILESUFFIX    =&gt; '_OVF10.ovf';&lt;br /&gt;#use constant OVF10OVAFILESUFFIX =&gt; '_OVF10.ova';&lt;br /&gt;# hackingstudio improved filename suffixes: &lt;br /&gt;use constant OVF09FILESUFFIX    =&gt; '_VI3.ovf';&lt;br /&gt;use constant OVF10FILESUFFIX    =&gt; '_vSphere4.ovf';&lt;br /&gt;use constant OVF10OVAFILESUFFIX =&gt; '_vSphere4.ova';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And also edit the file /opt/vmware/share/mkovf, replacing:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#&lt;br /&gt;# These must agree with the values in the build module Constants.pm&lt;br /&gt;#&lt;br /&gt;OVF09FILESUFFIX="_OVF09.ovf"&lt;br /&gt;OVF10FILESUFFIX="_OVF10.ovf"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;...With:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#&lt;br /&gt;# These must agree with the values in the build module Constants.pm&lt;br /&gt;#&lt;br /&gt;#OVF09FILESUFFIX="_OVF09.ovf"&lt;br /&gt;#OVF10FILESUFFIX="_OVF10.ovf"&lt;br /&gt;# hackingstudio improved filename suffixes: &lt;br /&gt;OVF09FILESUFFIX="_VI3.ovf"&lt;br /&gt;OVF10FILESUFFIX="_vSphere4.ovf"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And that's it. Nothing to restart, your next build will have OVF and OVA files that are named more intuitively for VMware users.&lt;br /&gt;&lt;br /&gt;If anyone is using studio2 to create appliances for non-VMware platforms I'd love to hear about it in the comments, thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-8534393642910717266?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/8534393642910717266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=8534393642910717266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8534393642910717266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8534393642910717266'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2010/02/renaming-ovf-files.html' title='Renaming OVF files'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-3227603319538753714</id><published>2010-01-14T14:41:00.000-08:00</published><updated>2010-01-14T14:52:05.033-08:00</updated><title type='text'>Setting User Passwords Longer Than 8 Characters</title><content type='html'>When creating Red Hat/CentOS appliances using Studio &amp; Studio2 the passwords accepted for root and user accounts are truncated to 8 characters as they're encrypted using the very limited crypt function.&lt;br /&gt;&lt;br /&gt;To use md5 hashes instead you need to generate an md5 hash on an existing Linux system, like:&lt;br /&gt;&lt;br /&gt;[root@will cli]# adduser tmpuser&lt;br /&gt;[root@will cli]# passwd tmpuser&lt;br /&gt;Changing password for user tmpuser.&lt;br /&gt;New UNIX password:  [enter a long password, over 8 chars]&lt;br /&gt;Retype new UNIX password: &lt;br /&gt;passwd: all authentication tokens updated successfully.&lt;br /&gt;&lt;br /&gt;Then grab the hash:&lt;br /&gt;&lt;br /&gt;[root@will cli]# grep tmpuser /etc/shadow&lt;br /&gt;tmpuser:$1$PhmFj24Z$nu/7FF2813kKiEt2DWiB81:14623:0:99999:7:::&lt;br /&gt;&lt;br /&gt;In this case we want: $1$PhmFj24Z$nu/7FF2813kKiEt2DWiB81&lt;br /&gt;&lt;br /&gt;Escape the dollar signs with a \ character for each: \$1\$PhmFj24Z\$nu/7FF2813kKiEt2DWiB81&lt;br /&gt;&lt;br /&gt;Now edit your build profile XML file for the appliance you are working on and change the vadk:passwordFormat value to "des" and the vadk:password value to the escaped hash.&lt;br /&gt;&lt;br /&gt;for example:&lt;br /&gt;&lt;br /&gt;&amp;lt;vadk:User vadk:username="myuser" vadk:password="\$1\$PhmFj24Z\$nu/7FF2813kKiEt2DWiB81" vadk:passwordFormat="des" vadk:fullname="My User" vadk:uid=""/&amp;gt;&lt;br /&gt;&lt;br /&gt;Don't mind that the passwordFormat says "des" when in fact we're using md5 hashes, it's a goofy misnomer for "already encrypted, just use the specified string".&lt;br /&gt;&lt;br /&gt;And build. Boot your new appliance and try to login with only the first 8 characters of the specified password, now you should be denied as the full password is respected.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-3227603319538753714?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/3227603319538753714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=3227603319538753714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/3227603319538753714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/3227603319538753714'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2010/01/setting-user-passwords-longer-than-8.html' title='Setting User Passwords Longer Than 8 Characters'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-1757494459029593517</id><published>2009-10-29T17:34:00.000-07:00</published><updated>2009-10-29T17:36:33.204-07:00</updated><title type='text'>CentOS 5.4 support</title><content type='html'>Leong, a really solid guy at VMware, has a post up describing how to add a build profile for CentOS/Red Hat 5.4, here:&lt;br /&gt;&lt;br /&gt;http://blogs.vmware.com/vapp/2009/09/vmware-studio-adding-rhel-54-support-in-minutes.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-1757494459029593517?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/1757494459029593517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=1757494459029593517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/1757494459029593517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/1757494459029593517'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/10/centos-54-support.html' title='CentOS 5.4 support'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-3452929489014857627</id><published>2009-10-08T13:47:00.001-07:00</published><updated>2009-10-08T17:48:16.310-07:00</updated><title type='text'>Studio2 Suicide After Reboot</title><content type='html'>If you have to reboot the Studio2 appliance it will lose its OS image ISO internal loopback mounts. Upon losing them it will not simply try to remount them, instead it will try to download the image again but will save it with an indexed extension over and over until your Studio2 disk is full.&lt;br /&gt;&lt;br /&gt;There are two fixes involved. The first simply attempts to remount the ISO. The second deletes the ISO (fragment?) before attempting to redownload the same image.&lt;br /&gt;&lt;br /&gt;Here's the patch:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root@vmstudio:/opt/vmware/lib/build/VADK# diff -u /opt/vmware/lib/build/VADK/bkp/ISO.pm /opt/vmware/lib/build/VADK/ISO.pm &lt;br /&gt;--- /opt/vmware/lib/build/VADK/bkp/ISO.pm       2009-10-08 10:20:37.000000000 +0000&lt;br /&gt;+++ /opt/vmware/lib/build/VADK/ISO.pm   2009-10-08 13:23:59.000000000 +0000&lt;br /&gt;@@ -77,6 +77,12 @@&lt;br /&gt;    #       &lt;br /&gt;    my $already_mounted = `mount | cut -f3 -d' ' | fgrep $mountpoint`;&lt;br /&gt; &lt;br /&gt;+# Will: simply remount it if possible&lt;br /&gt;+if (!$already_mounted &amp;&amp; (-f $filename)) {&lt;br /&gt;+  &amp;mount($filename, $mountpoint);&lt;br /&gt;+  $already_mounted = `mount | cut -f3 -d' ' | fgrep $mountpoint`;&lt;br /&gt;+}&lt;br /&gt;+&lt;br /&gt;    if (!$already_mounted) {&lt;br /&gt; &lt;br /&gt;       if ($iso =~ /^(ht|f)tp:(.+)$/i) {&lt;br /&gt;@@ -90,7 +96,12 @@&lt;br /&gt;          if (-r $envFile) {&lt;br /&gt;             $wgetcmd = ". $envFile; ";&lt;br /&gt;          }&lt;br /&gt;-         $wgetcmd .= 'cd '.$stageDir.'; wget '.VADK::Constants::WGET_TIMEOUT.' '.$iso;&lt;br /&gt;+&lt;br /&gt;+# Will: fix re-download attempts (were saving with .index extension)&lt;br /&gt;+unlink($filename);&lt;br /&gt;+$wgetcmd .= 'cd '.$stageDir.'; wget'.$iso;&lt;br /&gt;+&lt;br /&gt;+         # $wgetcmd .= 'cd '.$stageDir.'; wget '.VADK::Constants::WGET_TIMEOUT.' '.$iso;&lt;br /&gt; &lt;br /&gt;          my $ret = VADK::System::systemWrapped($wgetcmd);&lt;br /&gt;          if ($ret-&gt;{'exit_value'}) {&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I also stripped out the retry and timeout arguments to wget as they were causing wget to abort on a peer reset instead of continuing with a new connection.&lt;br /&gt;&lt;br /&gt;If you've run into this problem do delete all the files in the download ISO cache:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;rm -vf /opt/vmware/cache/build/ISO/*&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-3452929489014857627?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/3452929489014857627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=3452929489014857627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/3452929489014857627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/3452929489014857627'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/10/2-obnoxious-bugs-in-studio-2.html' title='Studio2 Suicide After Reboot'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-1770012182883156667</id><published>2009-09-17T14:18:00.000-07:00</published><updated>2009-09-17T14:48:22.527-07:00</updated><title type='text'>Porting Builds to Studio2</title><content type='html'>A few tips when migrating builds from VMware Studio v1 to Studio v2:&lt;br /&gt;&lt;br /&gt;- studiocli has a built-in feature to convert build profiles from v1 to v2 but I've been unable to make that work and don't feel like fixing the python behind it&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;# studiocli -C -p studio1vm.xml&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt; File "/opt/vmware/share/build/profconv", line 658, in &lt;module&gt;&lt;br /&gt;   main()&lt;br /&gt; File "/opt/vmware/share/build/profconv", line 639, in main&lt;br /&gt;   osspecific(xp)&lt;br /&gt; File "/opt/vmware/share/build/profconv", line 406, in osspecific&lt;br /&gt;   newurl.setContent(VMTOOLS)&lt;br /&gt;UnboundLocalError: local variable 'VMTOOLS' referenced before assignment&lt;br /&gt;&lt;/module&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So I used the Studio 2 GUI to rough out some new build profiles then with two vim sessions side-by-side I migrated the settings, users, scripts etc manually. That sucks pretty hard when you've got a handful of appliances to port.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- The embedded shell scripts used to require escaping on variable references, like:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;FOO=/tmp/foo&lt;br /&gt;echo 1 &gt; \$FOO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;..but in studio 2.0 the escaping is no longer necessary, like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;FOO=/tmp/foo&lt;br /&gt;echo 1 &gt; $FOO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- studiocli can no longer be run with remote SSH due to some environment issue. Instead just run vabs.pl directly, as in:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ssh root@vmstudio2 /opt/vmware/share/build/vabs.pl \&lt;br /&gt;                -cvp /tmp/profile.xml -i instanceX&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It sure is nice building OVA and OVF 1.0 targets now. Retiring VMware Server 1 is a joy too as both the Studio2 VM and builds happen within one ESX system. Build times are improved by about 15% despite the additional targets.&lt;br /&gt;&lt;br /&gt;I'm working on vApp creation to bundle up a handful of appliances in my nightly builds and can post about that if people are curious.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-1770012182883156667?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/1770012182883156667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=1770012182883156667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/1770012182883156667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/1770012182883156667'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/09/porting-builds-to-studio2.html' title='Porting Builds to Studio2'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-5094891531072417065</id><published>2009-09-08T12:13:00.001-07:00</published><updated>2009-09-08T12:15:37.588-07:00</updated><title type='text'>VMware Studio 2.0 shipped!</title><content type='html'>Last Monday the production release of VMware Studio 2.0 made its way to the download servers. &lt;br /&gt;&lt;br /&gt;It was great seeing some of the VMware Studio team on the VMworld show floor. There's a lot to be proud of with last week's production release of Studio 2.0. &lt;br /&gt;&lt;br /&gt;Upgrade from the Studio 2.0 Beta release immediately. I advise Studio 1.0 users run Studio 2.0 side-by-side with Studio 1.0 to ease migration.&lt;br /&gt;&lt;br /&gt;Studio 2.0 Beta got some security love &lt;a href="http://www.securityfocus.com/archive/1/506191"&gt;from Security Focus&lt;/a&gt;. Good times&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-5094891531072417065?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/5094891531072417065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=5094891531072417065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/5094891531072417065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/5094891531072417065'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/09/vmware-studio-20-shipped.html' title='VMware Studio 2.0 shipped!'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-2616930506324700068</id><published>2009-09-08T12:07:00.000-07:00</published><updated>2009-09-08T12:12:58.096-07:00</updated><title type='text'>Winner VMworld09 Best of Show and Gold Security!</title><content type='html'>Congrats to my fantastic team of engineers and architects at HyTrust for sweeping the awards at this year's VMworld in San Francisco.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hytrust.com/"&gt;http://hytrust.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-2616930506324700068?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/2616930506324700068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=2616930506324700068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/2616930506324700068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/2616930506324700068'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/09/winner-vmworld09-best-of-show-and-gold.html' title='Winner VMworld09 Best of Show and Gold Security!'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-8580976679869071696</id><published>2009-07-30T23:40:00.000-07:00</published><updated>2009-07-30T23:42:03.719-07:00</updated><title type='text'>VMworld 09</title><content type='html'>Hey folks I'll be at VMworld on Wednesday and expect to make the party afterwards. You can visit me at the booth of my brilliant security startup HyTrust. I'm the short blond Dutch/Canadian/Californian. Say hi :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-8580976679869071696?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/8580976679869071696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=8580976679869071696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8580976679869071696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8580976679869071696'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/07/vmworld-09.html' title='VMworld 09'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-6401635305075202700</id><published>2009-06-29T21:10:00.001-07:00</published><updated>2009-06-29T21:55:02.311-07:00</updated><title type='text'>VMware Studio 2.0 Beta1 is out!</title><content type='html'>And it looks very good. The underlying product framework is fundamentally the same but there are loads of new features. &lt;br /&gt;&lt;br /&gt;64bit Linux builds are supported as are Windows 2003,8. Windows makes a lot of sense for big enterprises who need to standardize internal VM images. It's a big step up over using a tuned VM template. &lt;br /&gt;&lt;br /&gt;You no longer need to have a copy of the venerable VMware Server 1.0 to provision VMs. You can now use Workstation and ESX3/4/VC. Have a look:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kj3j83xitk4/SkmakfgEX3I/AAAAAAAAACA/uIj3x4UpTwE/s1600-h/vmstudio2build.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="http://1.bp.blogspot.com/_kj3j83xitk4/SkmakfgEX3I/AAAAAAAAACA/uIj3x4UpTwE/s320/vmstudio2build.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5352979583828516722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You now have a choice of v4 and v7 virtual hardware with enforced CPU and memory limits to match. Using v7 compatibility costs you some older hosted compatibility (Server 1.x and Player) but will let your appliance users scale the VA to 8 vCPUs and 255GB RAM for heavier workloads:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kj3j83xitk4/SkmVDfobUgI/AAAAAAAAABw/ReUAGu1xDGQ/s1600-h/vmstudio2.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://4.bp.blogspot.com/_kj3j83xitk4/SkmVDfobUgI/AAAAAAAAABw/ReUAGu1xDGQ/s320/vmstudio2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5352973519369753090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Multiple virtual appliance images can be rolled up into one "vApp" bundle. This really helps with scalability especially since different components of a software platform have different bandwidth and headroom needs. Think of a scaled LAMP stack but with Apache/perl on one VM and MySQL on another. The MySQL VM can be hosted on a physical server tuned for fast IO and the Apache/Perl VM can be hosted on a much cheaper edge server. That would be a great candidate for a vApp style multi-VM appliance. One OVA, many VMs, one logical VA.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kj3j83xitk4/SkmXfJq80fI/AAAAAAAAAB4/8mhVmxTU-jo/s1600-h/vmstudio2vapp.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://4.bp.blogspot.com/_kj3j83xitk4/SkmXfJq80fI/AAAAAAAAAB4/8mhVmxTU-jo/s320/vmstudio2vapp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5352976193534349810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;The build targets include OVF v1.0 in addition to the OVF v0.9 spec used by Server 1.0. OVA bundles are now supported as an additional build target. This is an archive of the OVF XML file along with the VMDKs but to my disappointment Studio 2.0 does not sign these to ensure their integrity for distribution. I hope they consider this in the next release.&lt;br /&gt;&lt;br /&gt;There are better tools for helping bundle applications for inclusion in the appliances, for both the set of supported Linuxes and Windows too. I haven't dug into that much as my professional life is in already well bundled in .war and .rpm files these days. The dependency resolution is far improved, that should help new users.&lt;br /&gt;&lt;br /&gt;Under the hood the PXE boot sequence used during VA provisioning has been replaced with a more reliable canned VMDK bootstrap process. This change is transparent to most users but can help keep Studio from getting confused by custom PXE implementations on the same LAN. A good change for sure.&lt;br /&gt;&lt;br /&gt;Peruse the release notes for Studio 2.0 Beta here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://communities.vmware.com/viewwebdoc.jspa?documentID=DOC-10175"&gt;http://communities.vmware.com/viewwebdoc.jspa?documentID=DOC-10175&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And download it. Give it a whirl. I love to see a relatively OS agnostic vendor like VMware reduce the basic OS to a rather small/trivial piece of an application. OS vendors should be freaking out right now and innovating like mad before they're as unseen and ubiquitous as the average C library...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-6401635305075202700?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/6401635305075202700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=6401635305075202700' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/6401635305075202700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/6401635305075202700'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/06/vmware-studio-20-beta1-is-out.html' title='VMware Studio 2.0 Beta1 is out!'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kj3j83xitk4/SkmakfgEX3I/AAAAAAAAACA/uIj3x4UpTwE/s72-c/vmstudio2build.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-8435814199507317782</id><published>2009-05-23T11:03:00.000-07:00</published><updated>2009-07-27T22:06:52.284-07:00</updated><title type='text'>Windows support</title><content type='html'>I was just asked about creating a VMware Studio template for Windows.&lt;br /&gt;&lt;br /&gt;Edit July 2009: Windows 2003/2008 support is in the beta release of Studio 2.0, have at it :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Original post:&lt;br /&gt;&lt;br /&gt;In a nutshell...&lt;br /&gt;&lt;br /&gt;The VMware Studio build system was architected with Windows in mind.&lt;br /&gt;The XSL template necessary would create a Windows unattended install file.&lt;br /&gt;VMware would have to deliver new guest software for Windows too,&lt;br /&gt;though I generally build appliances without the VMware guest stack.&lt;br /&gt;&lt;br /&gt;The PXE setup code in a Windows build profile XML reference would take a bit of&lt;br /&gt;effort but is doable.&lt;br /&gt;&lt;br /&gt;What flavour of Windows are people using for appliances? &lt;br /&gt;&lt;br /&gt;Anyone tried unattended installs of Windows 7?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-8435814199507317782?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/8435814199507317782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=8435814199507317782' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8435814199507317782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8435814199507317782'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/05/windows-support.html' title='Windows support'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-8094092748167047703</id><published>2009-03-28T11:44:00.000-07:00</published><updated>2009-03-28T16:50:07.413-07:00</updated><title type='text'>VMware Studio and its host hardware</title><content type='html'>I've been building appliances on an AMD phenom 9850 quad core with 8GB RAM of late. This system has been running Ubuntu 8.04 amd64 and my builds took about 45 minutes when my local Aberdeen NAS was behaving.&lt;br /&gt;&lt;br /&gt;This week while attempting to upgrade to Ubuntu's Jaunty the software raid mirroring (!) fell over and that build box crashed. It was really strange since grub settings were saved correctly on one drive in the mirror set but not the other. &lt;br /&gt;&lt;br /&gt;So I blew it all away and installed CentOS 5.2 x86_64 [ 5.3? eh? before xmas *cough* ;) ]  ..And put VMware Server 1.0.8 on there without installation headaches and hey, my builds are down to 26 minutes. Fantastic improvement.&lt;br /&gt;&lt;br /&gt;I may use Ubuntu again as a deskside workstation but never on a server. Seriously flakey upgrades. RHEL/CentOS has the reliability win for now.&lt;br /&gt;&lt;br /&gt;I know VMware Server 2 is gaining popularity but from what I know VMware Studio still only supports Server 1.x. Would love to see ESX support as I have a farm of cool AMD Shanghai boxes now.&lt;br /&gt;&lt;br /&gt;I've an Intel Nehelem i720 system on order. 12GB ddr3 and 4 sata drives in a stripe set while install sources will continue to reside on the NAS. I like to keep build hosts as stateless as possible. Studio logs build times in both its debug and verbose logs and I'll post a follow-up to that once the new box is online. I'm guessing 20 minutes, will see..&lt;br /&gt;&lt;br /&gt;For home I have an AMD Shanghai 720 on order. Don't know if I'll get VMware Server running on that unless someone asks me to. That system will replace a pre-release first-gen opteron 2ghz that is more than 5 years old. Wow. I miss getting free &amp; early access to AMD and Intel CPU samples. &lt;br /&gt;&lt;br /&gt;For the record the Aberdeen NAS runs Windows and absolutely sucks serving NFS. Avoid them if you have any Linux/Unix/OSX infrastructure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-8094092748167047703?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/8094092748167047703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=8094092748167047703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8094092748167047703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8094092748167047703'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2009/03/vmware-studio-and-its-host-hardware.html' title='VMware Studio and its host hardware'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-8741992070883752463</id><published>2008-11-05T20:24:00.000-08:00</published><updated>2009-03-28T16:40:40.890-07:00</updated><title type='text'>From the GUI to the CLI</title><content type='html'>VMware ships Studio as a virtual appliance (VA). I'm guessing they use VMware Studio to create VMware Studio based on the embedded CIM stack and management web GUI.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In this appliance there are a bunch of files. Lots of these are normal Linuxy files, many are from VMware. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;The Studio VA itself is Ubuntu Feisty, 32bit. Almost all of the VMware bits reside in &lt;span style="font-style:italic;"&gt;/opt/vmware/&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The easiest way to explain what files live where is to walk through an appliance build from scratch using the web interface.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Login to the VMware Studio GUI, http://whateverIP/ &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kj3j83xitk4/SRJ4wi59_SI/AAAAAAAAAAM/ma13uPiDXwY/s1600-h/Picture+1.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://4.bp.blogspot.com/_kj3j83xitk4/SRJ4wi59_SI/AAAAAAAAAAM/ma13uPiDXwY/s320/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265403689748528418" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Click the &lt;span style="font-style:italic;"&gt;Create Appliance&lt;/span&gt; button near the right side of the screen, select your base OS and specify a name for the appliance:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kj3j83xitk4/SRJ5MzGs5iI/AAAAAAAAAAU/AoNiXgOsB04/s1600-h/Picture+3.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://4.bp.blogspot.com/_kj3j83xitk4/SRJ5MzGs5iI/AAAAAAAAAAU/AoNiXgOsB04/s320/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265404175133238818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The list of base operating systems is generated by the XML files found in the directory:&lt;br /&gt; &lt;span style="font-style:italic;"&gt;/opt/vmware/etc/build/templates/&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;You'll notice an extra OS in the screenshot above, CentOS 5.2 x86_64. I added that by copying the file /opt/vmware/etc/build/templates/centos/5/2/build_profile.xml and making a few tweaks to it--those tweaks are another post in themselves.&lt;br /&gt;&lt;br /&gt;Using the web GUI, type in your appliance name, version, description, etc. Keep clicking &lt;span style="font-style:italic;"&gt;Next&lt;/span&gt; at the bottom of the screen to progress through the wizard. The only important thing here is that you have a VMware Server v1.something installed and accessible for the last step. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kj3j83xitk4/SRJ5rkZ5OzI/AAAAAAAAAAc/qPtAFgIDoFM/s1600-h/Picture+2.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://4.bp.blogspot.com/_kj3j83xitk4/SRJ5rkZ5OzI/AAAAAAAAAAc/qPtAFgIDoFM/s320/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265404703763151666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Click &lt;span style="font-style:italic;"&gt;Save and Build&lt;/span&gt; to ensure this new profile and your build environment settings are working. If you have issues please rtfm else respond to this post and we can figure it out.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;At this point you should have a completed build from the web GUI. Great stuff. What has happened under the hood is that the reference profile template was used to create a new appliance profile XML file in the directory &lt;span style="font-style:italic;"&gt;/opt/vmware/var/lib/build/profiles/&lt;/span&gt;. The file in this directory should have a familiar name to it. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;From now on you're ready to build from the command line. Run the command: &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-style:italic;"&gt;studiocli -cvp /opt/vmware/var/lib/build/profiles/myAppliance.xml &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;...And there you go. Nice. Debug-level verbosity is had with a second -v argument, as in:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-style:italic;"&gt;studiocli -cvvp /opt/vmware/var/lib/build/profiles/myAppliance.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;At this point you no longer need to use the web GUI to make changes to the appliance profile XML file. That file looks much like an OVF file with a few VMware Studio enhanced sections. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nifty eh?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-8741992070883752463?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/8741992070883752463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=8741992070883752463' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8741992070883752463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/8741992070883752463'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2008/11/what-lives-where.html' title='From the GUI to the CLI'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kj3j83xitk4/SRJ4wi59_SI/AAAAAAAAAAM/ma13uPiDXwY/s72-c/Picture+1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-3627366087514184392</id><published>2008-10-10T11:19:00.000-07:00</published><updated>2008-10-10T12:52:37.153-07:00</updated><title type='text'>Building appliances with other OS images (ISO files)</title><content type='html'>VMware Studio ships with support for virtual appliance creation using a few different OS versions.  Each OS version requires a specific ISO image with fixed md5 checksum.&lt;br /&gt;&lt;br /&gt;Fortunately, the ISO image and its checksum are part of the appliance profile XML file and we can change those readily. People who roll their own ISO images with Fedora's Revisor or something similar will generally want to use a new ISO image each time they build an appliance.&lt;br /&gt;&lt;br /&gt;I'm not going to describe how to build your own ISO image here but let's assume you regularly build one and save it to a web-accessible folder, for example:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;http://yourserver/iso/latest/my-custom-centos52.iso&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now edit your appliance profile XML file to use this ISO image instead of the stock value. Appliance profiles are found in the directory /opt/vmware/var/lib/build/profiles/.&lt;br /&gt;&lt;br /&gt;Look for the line:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;vadk:iso path="file:///opt/vmware/www/ISV/ISO/CentOS-5.0-i386-bin-DVD.iso" &lt;br /&gt;  md5sum="b5633ee6ee3b2e10d92672c74e594d75"&amp;gt;&lt;br /&gt;&amp;lt;/vadk:iso&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And change it to point to your custom ISO image instead and change the md5sum to null to skip that validation:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;vadk:iso path="http://yourserver/iso/latest/my-custom-centos52.iso " &lt;br /&gt;  md5sum=""&amp;gt;&lt;br /&gt;&amp;lt;/vadk:iso&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Studio will cache ISO images locally so to make it download this ISO image for each build we have to flush Studio's local ISO extraction cache by running:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root@localhost:~# studiocli -v --flushIsoCache&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And now you can fire off your appliance builds as usual:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root@localhost# studiocli -cvp myAppliance.xml -i 20081010&lt;br /&gt;Using build instance name: 20081010&lt;br /&gt;Validating profile schema...&lt;br /&gt;Validating Appliance Version formatting...&lt;br /&gt;Validating Appliance Memory Size...&lt;br /&gt;Validating non-empty ISO path...&lt;br /&gt;Validating Appliance usernames and passwords...&lt;br /&gt;Validating Appliance logo path...&lt;br /&gt;Validating ovf:DiskSection_Type...&lt;br /&gt;Validating ApplicationPackages URL...&lt;br /&gt;Validating OS Package elements...&lt;br /&gt;Validating controllers and disks...&lt;br /&gt;Validating file transfer for ProvisioningEngine...&lt;br /&gt;Validating provisioning engine connection...&lt;br /&gt;Validating vmguest_lan...&lt;br /&gt;Validating available disk space...&lt;br /&gt;Preparing the OS installation files.&lt;br /&gt;Creating the virtual machine.&lt;br /&gt;Installing the OS and applications.&lt;br /&gt;Creating an inventory of installed software.&lt;br /&gt;Packaging the virtual machine.&lt;br /&gt;Creating a software update for upgrading older appliance releases.&lt;br /&gt;Publishing the software update to remote servers.&lt;br /&gt;Removing temporary files.&lt;br /&gt;The build has completed successfully.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-3627366087514184392?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/3627366087514184392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=3627366087514184392' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/3627366087514184392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/3627366087514184392'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2008/10/building-appliances-with-other-os.html' title='Building appliances with other OS images (ISO files)'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-6591795067149713932</id><published>2008-10-10T10:51:00.001-07:00</published><updated>2008-10-10T12:32:42.743-07:00</updated><title type='text'>Building Appliances without VMware Guest software</title><content type='html'>By default VMware Studio will build appliances with a number of software components added into the appliance itself. If you already build hardware appliances then you probably have most of your in-guest software needs already taken care of.&lt;br /&gt;&lt;br /&gt;The software components that Studio adds into each VA it creates are:&lt;br /&gt;&lt;br /&gt;- command line network and timezone setup&lt;br /&gt;- EULA acceptance/handling&lt;br /&gt;- a simple web GUI&lt;br /&gt;- software update support&lt;br /&gt;- CIM stack for managing the appliance (similar to SNMP)&lt;br /&gt;&lt;br /&gt;All this is very useful stuff but not all of this is for everyone and each component has its own dependencies so keeping all that will add to virtual disk bloat.&lt;br /&gt;&lt;br /&gt;So to take control of this you can customize the OS provisioning template (XSL) used to install the OS and apps on your appliances.&lt;br /&gt;&lt;br /&gt;First login to the Studio web GUI and create an appliance and build it once. This will require a VMware Server instance and SSH service running on its host OS. Read the bundled developers guide to get you going. There are hoops to jump through but it's worth it :)&lt;br /&gt;&lt;br /&gt;Once you have an appliance defined you can customize how the OS and applications are installed by copying &amp;amp; editing the OS provisioning template file.&lt;br /&gt;&lt;br /&gt;Template files are found in the directory tree /opt/vmware/etc/build/templates/&lt;br /&gt;&lt;br /&gt;For this example I'll assume you're building a Red Hat or CentOS-based appliance. The OS template used for this is redhat5.xsl, so copy that and edit the copy:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mkdir /root/templates&lt;br /&gt;&lt;br /&gt;cp /opt/vmware/etc/build/profiles/redhat/5/redhat5.xsl \&lt;br /&gt; /root/templates/custom_redhat5.xsl&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;(For Ubuntu and Suse builds the XSL file containing this shell code is called post.xsl, paired with ubuntu.xsl and suse.xsl)&lt;br /&gt;&lt;br /&gt;The XSL template contains some shell code and we can simply delete the section that installs the guest software components.  I've a diff here that shows what to delete:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root@localhost:~/templates# diff -u redhat5.xsl.orig redhat5.xsl&lt;br /&gt;--- redhat5.xsl.orig    2008-10-10 11:04:52.000000000 -0700&lt;br /&gt;+++ redhat5.xsl    2008-10-10 11:05:48.000000000 -0700&lt;br /&gt;@@ -401,37 +401,6 @@&lt;br /&gt;# Install VADK Guest software&lt;br /&gt;#&lt;br /&gt;installdir=/tmp/vabs; export installdir&lt;br /&gt;-&lt;for-each select="/ovf:Envelope/Section[@xsi:type='vadk:JEOSSection_Type']/vadk:VADKPackages"&gt;&lt;br /&gt;-&lt;br /&gt;-# create a sandbox&lt;br /&gt;-mkdir -p $installdir&lt;br /&gt;-&lt;br /&gt;-# download packages&lt;br /&gt;-wget $WGET_TIMEOUT -nv -nd --no-parent -r -A .deb,.rpm,.sh -l1 -P $installdir &lt;value-of select="@vadk:path"&gt;&lt;br /&gt;-if [ $? -ne 0 ]&lt;br /&gt;-then&lt;br /&gt;-    abort Downloading of VMware Studio runtime packages from &lt;value-of select="@vadk:path"&gt; failed.&lt;br /&gt;-fi&lt;br /&gt;-&lt;br /&gt;-# search for install.sh bash files and execute them&lt;br /&gt;-find $installdir -name install.sh |&lt;br /&gt;-while read i&lt;br /&gt;-do&lt;br /&gt;-    bash $i || abort Execution of VMware Studio runtime install.sh file failed.&lt;br /&gt;-done&lt;br /&gt;-&lt;br /&gt;-#&lt;br /&gt;-# Install all .rpm packages&lt;br /&gt;-#&lt;br /&gt;-pkglist=`find $installdir -name "*.rpm"`&lt;br /&gt;-if [ "$pkglist" ]&lt;br /&gt;-then&lt;br /&gt;-    rpm -Uvh $pkglist || abort Installation of VMware Studio runtime packages failed.&lt;br /&gt;-fi  &lt;br /&gt;-&lt;br /&gt;-# cleanup&lt;br /&gt;-rm -rf $installdir&lt;br /&gt;-&lt;/value-of&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Load ISV software&lt;br /&gt;&lt;/value-of&gt;&lt;/for-each&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now edit the appliance profile XML file to use this alternate OS provisioning template. Your profile is found in /opt/vmware/var/lib/build/profiles/&lt;br /&gt;&lt;br /&gt;Edit the XML file and change the value of &lt;vadk:unattendedinstalltemplate&gt; from the old /opt/vmare/etc/build/templates/redhat/5/redhat5.xsl to /root/templates/custom_redhat5.xsl&lt;br /&gt;&lt;br /&gt;Save the XML file and fire off a build:&lt;br /&gt;&lt;br /&gt;# vadkstudio -cvp /opt/vmare/var/lib/build/profiles/myappliance.xml&lt;br /&gt;&lt;br /&gt;And hey look, the resulting VA has no extra guest software.&lt;/vadk:unattendedinstalltemplate&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-6591795067149713932?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/6591795067149713932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=6591795067149713932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/6591795067149713932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/6591795067149713932'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2008/10/building-appliances-without-vmware.html' title='Building Appliances without VMware Guest software'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5135620205688079509.post-1538830514639483603</id><published>2008-10-07T16:21:00.000-07:00</published><updated>2008-11-05T21:19:01.712-08:00</updated><title type='text'>Welcome to Hacking VMware Studio</title><content type='html'>Hi folks,&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Welcome to the new hacking blog for VMware's virtual appliance authoring tool, VMware Studio.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Studio was announced as a new, free product at VMworld in Las Vegas, September 2008.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You can download it from here: &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-style:italic;"&gt;http://vmware.com/download/va_authoring/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Also download VMware Server which will need to be installed on an x86_64/amd64 PC from here: &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-style:italic;"&gt;http://vmware.com/download/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Please feel free to ask whatever questions you have about Studio VA deployments, limitations, new features or patches.&lt;br /&gt;&lt;br /&gt;Best,&lt;br /&gt;&lt;br /&gt;Will&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5135620205688079509-1538830514639483603?l=vmwstudio.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vmwstudio.blogspot.com/feeds/1538830514639483603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5135620205688079509&amp;postID=1538830514639483603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/1538830514639483603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5135620205688079509/posts/default/1538830514639483603'/><link rel='alternate' type='text/html' href='http://vmwstudio.blogspot.com/2008/10/welcome-to-hacking-vmware-studio.html' title='Welcome to Hacking VMware Studio'/><author><name>Will DeHaan</name><uri>http://www.blogger.com/profile/13317688904658105399</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_kj3j83xitk4/Sc60Kb_AmUI/AAAAAAAAABI/JY3n_8SquqY/S220/pink.jpg'/></author><thr:total>0</thr:total></entry></feed>
