First, make a new template on your Dom0 xen host:
xe template-list name-label="Ubuntu Lucid Lynx 10.04 (64-bit)" --minimal xe vm-clone uuid=[UUID from step 1 here] new-name-label="Ubuntu Precise Pangolin 12.04 (64-bit)" xe template-param-set other-config:default_template=true other-config:debian-release=precise uuid=[UUID from step 2 here]
Create a new VM in XenCenter and choose the VM template you just created
Enter the following as install URL:
During Ubuntu Server install create a separate /boot partition with the size of 500Mb and set the type to ext3 as pygrub does not support ext4 very well.
After installation is complete, log in and make yourself root:
Next, install kernel with virtual support and remove default kernel:
apt-get install linux-virtual linux-image-virtual linux-headers-virtual dpkg -l | grep generic apt-get remove [all linux*generic packages from last command]
Mount xs-tools to your VM dvd drive in XenCenter and install xen guest tools for VM monitoring:
mount /dev/xvdd /mnt cd /mnt/Linux dpkg -i *amd64.deb
Edit /etc/fstab and add nobarrier option to every virtual disk, example /etc/fstab:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/xvda5 during installation UUID=a4588f98-9db1-4e85-adf4-e03a6c5202d4 / ext3 nobarrier 0 1 # /boot was on /dev/xvda1 during installation UUID=12c79a36-e3b8-49c4-8d20-5d8c302c7faf /boot ext3 nobarrier 0 2 # /home was on /dev/xvdb1 during installation UUID=7558d15d-8c4b-4d50-8872-72fd2974c946 /home ext3 nobarrier 0 2 # swap was on /dev/xvdb5 during installation UUID=cb9aef04-d7ca-4eb9-940c-87d986729169 none swap sw 0 0
That should do it, have fun with Ubuntu Server 12.04.