cloudstack-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geoff Higginbottom <>
Subject RE: DevCloud : how to customize VHD template
Date Fri, 04 Jan 2013 17:25:26 GMT


Geoff Higginbottom

D: +44 20 3603 0542 | S: +44 20 3603 0540 | M: +447968161581

-----Original Message-----
From: Rohit Yadav []
Sent: 04 January 2013 17:21
Subject: RE: DevCloud : how to customize VHD template

Hi Youri,

Thanks for sharing your anecdotes.
You should post a blog so your solution becomes google-able.

From: Youri Bonnaffé []
Sent: Friday, January 04, 2013 10:32 PM
Subject: DevCloud : how to customize VHD template


As I've had issues to create and customize an instance template using DevCloud, I would like
to share how I finally did it. My goals were to reuse the TTY Linux template, add some custom
programs in the template and create a boot script; basically to be able to quickly start an
autoconfigured instance.

Resizing the VHD template is achievable using vhd-util :
* Download the TTY template using the Cloudstack web client
* On the Xen host, aka the DevCloud virtualbox VM, you can use vhd-util
   vhd-util resize -n mytemplate.vhd -j output.log -s 200 (to extend its size to 200M)
* On the Xen host create a block device mapped to the VHD file using tap-ctl
  here is a sample script to will do it ($1 MUST be an absolute path)

*device=$(tap-ctl allocate)
echo $deviceid
spawn=$(tap-ctl spawn)
pid=${spawn#tapdisk spawned with pid }
echo $pid
tap-ctl attach -p $pid -m $deviceid
tap-ctl open -p $pid -m $deviceid -a vhd:$1

* * Use resize2fs */dev/xen/blktap-2/tapdev...IDOFDEVICE *to expand the partition size (fsck
might be needed, do it)
 * Now if you mount the device *mount /dev/xen/blktap-2/tapdevID some_folder
* you should see a partition of 200M instead of the 50M default TTY Linux template

While you are at it you can edit files since the image is mounted.

 * Unmount it when you are done
 * Remove the block device
*      pid=$1
      tap-ctl close -m $deviceid -p $pid
      tap-ctl detach -m $deviceid -p $pid
      tap-ctl free -m $deviceid*

Then can you can import back the VHD template file using the Cloudstack web client.

I hope it will be helpful to someone, I've been struggling for days to do it (I'm not familiar
with Xen technologies thought).


ShapeBlue provides a range of strategic and technical consulting and implementation services
to help IT Service Providers and Enterprises to build a true IaaS compute cloud. ShapeBlue’s
expertise, combined with CloudStack technology, allows IT Service Providers and Enterprises
to deliver true, utility based, IaaS to the customer or end-user.


This email and any attachments to it may be confidential and are intended solely for the use
of the individual to whom it is addressed. Any views or opinions expressed are solely those
of the author and do not necessarily represent those of Shape Blue Ltd. If you are not the
intended recipient of this email, you must neither take any action based upon its contents,
nor copy or show it to anyone. Please contact the sender if you believe you have received
this email in error. Shape Blue Ltd is a company incorporated in England & Wales.
View raw message