Admittedly, I was a bit disappointed to see XenServer 5.6 without support for Ubuntu, Debian 64-bit and Solaris, I wish they’d at least provide working templates as an unsupported download or something, but they don’t. So, if you want to virtualize your Ubuntu installations you have to get your fingers dirty, fortunately it’s very easy with XenServer 5.6 (in 5.5 it’s a bit more work).
As of Ubuntu 8.10 all the Xen stuff has been integrated in the default server kernel, no need to fiddle with different kernels anymore.
- Create a VM in XenServer, use Other Install media template, customize your installation to your liking but don’t fiddle with the /boot filesystem, pygrub needs this to be ext2 or ext3.
- Once your new Ubuntu VM is up and running you might as well apply the latest updates, if you do this later and there’s a new kernel AND you’ve specified any PV-bootloader-args you’ll have to go back into XenServer and fix this. At this point I also recommend installing an ssh server, it makes life a lot easier should your new Xen-based console not work.,
sudo apt-get install ssh
- Configure virtual console, replace tty1 with hvc0
cp /etc/init/tty1.conf /etc/init/hvc0.conf
sed -i 's/tty1/hvc0/g' /etc/init/hvc0.conf - Shutdown virtual machine
shutdown -hP now
- Find your virtual machine and it’s UUID
xe vm-list name-label=<your VM name> params=uuid
- Switch from HVM to PV
xe vm-param-set uuid=<UUID> HVM-boot-policy=
xe vm-param-set uuid=<UUID> PV-bootloader=pygrub - Find the VBD disk UUID
xe vm-disk-list uuid=<UUID>
- Make VBD disk bootable
xe vbd-param-set uuid=<VBD UUID> bootable=true
Now boot up the VM, if the console appears to hang and you’re sure you’ve setup hvc0 correct, try restarting XenCenter, for some reason it doesn’t always like the change at first.
Installing XenServer Tools is dead easy. Since my XenServers are on AMD, I’ll use the amd64 package.
dpkg -i /cdrom/Linux/xe-guest-utilities_5.6.0-578_amd64.deb
umount /cdrom
On one occasion I forgot to ‘eject’ the cdrom, the VM then failed to boot saying too many bootable devices, puzzling at first but it was nothing more than ejecting the cdrom and booting again.
I’ve run Ubuntu 10.04 PV in production for a few months now and have had no issues whatsoever.
Hi there,
thanks for the description. I installed Ubuntu 10.04 as 32bit virtual machine from the mini.iso. I followed your steps but I cannot seem to get it started now. I am stuck after making the VBD bootable.
My error message is:
message: XenguestHelper.Xc_dom_linux_build_failure(2, " elf_xen_note_check: ERROR: Will only load images built \\\"")
Can you suggest a solution?
CU,
Mészi.
I searched a bit and found this: http://community.citrix.com/display/xs/Installing+Ubuntu+Server+10.04+%2832bit+and+64bit%29+LTS
It appears like if that way works fine.
Hello meszi,
I too am receiving the identical error:
The server failed to handle your request, due to an internal error. The given message may give details useful for debugging the problem.
message: XenguestHelper.Xc_dom_linux_build_failure(2, ” elf_xen_note_check: ERROR: Will only load images built \\\”")
Did you ever get this fixed. I have searched hi and low and cannot seem to find instructions that actually works (for me at least). I have followed the instructions very carefully but when I attempt to boot the VM so that I can install the xtools, I keep getting that boot error.
Any help would be greatly appreciated.
Thanks