diff --git a/onos-build-vm.py b/onos-build-vm.py
index 3695fda..62bb7e6 100755
--- a/onos-build-vm.py
+++ b/onos-build-vm.py
@@ -23,7 +23,7 @@
 def installONOS( vm, prompt=Prompt ):
     # start with sendline
     #TODO consider resizing the HDD
-    url = 'https://gerrit.onlab.us/gitweb?p=ONOS-VM.git;a=blob_plain;hb=refs/heads/master;f=vm-setup.sh'
+    url = 'https://gerrit.onlab.us/gitweb?p=ONOS-VM.git;a=blob_plain;hb=refs/heads/mininet-tutorial;f=vm-setup.sh'
     vm.sendline( 'wget -O vm-setup.sh "%s" | bash' % url )
     vm.expect( prompt, timeout=20 )
     vm.sendline( 'bash vm-setup.sh' )
@@ -36,7 +36,7 @@
     assert 'disk image' in output
     return os.stat( vmdk )[ ST_SIZE ]
 
-def buildONOS( image, out, flavor='raring64server', installMemory=1024, ovfMemory=2048  ):
+def buildONOS( image, out, flavor='trusty64server', installMemory=1024, ovfMemory=1024  ):
     if not image:
         # build VM from flavor
         #build( flavor )
@@ -50,18 +50,18 @@
     print osname, osid
 
     ovf = generateOVF( name=ovfname, osname=osname, osid=osid,
-                       diskname=out+'.vmdk', disksize=size, mem=2048, cpus=4,
-                       vmname='ONOS-VM', vminfo='An ONOS VM' )
+                       diskname=out+'.vmdk', disksize=size, mem=ovfMemory, cpus=1,
+                       vmname='Mininet-Tutorial', vminfo='Mininet Tutorial VM' )
     log( '* Generated OVF descriptor file', ovf )
 
 if __name__ == '__main__':
-    parser = argparse.ArgumentParser( description='ONOS VM build script' )
+    parser = argparse.ArgumentParser( description='Mininet Tutorial VM build script' )
     parser.add_argument( '-i', '--image', metavar='image', required=True,
                          help='Build from an existing VM image' )
-    parser.add_argument( '-f', '--flavor', default='raring64server',
-                         help='VM flavor to build (e.g. raring64server)' )
+    parser.add_argument( '-f', '--flavor', default='trusty64server',
+                         help='VM flavor to build (e.g. trusty64server)' )
     parser.add_argument( 'scripts', nargs='*',
-                         help='VM flavor(s) to build (e.g. raring64server)' )
+                         help='VM flavor(s) to build (e.g. trusty64server)' )
     parser.add_argument( '-z', '--zip', action='store_true',
                          help='archive .ovf and .vmdk into .zip file' )
     parser.add_argument( '-o', '--out', required=True,
