3. February 2013 19:31
This is just a crude outline, from memory. The basic idea is to prepare your VM on a machine using hyper-v, add the windows azure linux agent, run the deprovision command, and upload.
Install the azure command-line tools on your machine
2/ Create a new virtual machine in hyper-v
Create the VM without a virtual hard disk, then add one at the VHD format (not VHDX). Choose wisely the VHD size ! You won't pay for uploading data to Azure, but uploading 30Gb is a pain if you have average connectivity. Besides, you'll be able to create data disks on azure and mount them directly.
3/ Install your stuff
Install whatever you want on that VM, and finish with the Azure tools:
sudo apt-get install waagent
4/ (Optional) Save your work
Stop the VM, backup its VHD, restart. If you have to tweak things the backup will save tons of time.
5/ Deprovision the VM
sudo waagent -deprovision+user
6/ Upload and test
You can shutdown your VM, the VHD is ready to be tested on Azure. To do that you'll need to create a storage account and upload the VHD (see the azure command-line tool to do that : azure vm image create --help)
A note about step 6: I did my uploads in a more complicated way last time I tested, if you encounter problems there let me know (@piercou).