First, make sure you have the trixbox-2.8.0.1.iso available in an ISO SR.
From XenCenter, create a VM using the “Other install media” template, put the trixbox ISO in, give it a 5GB HDD, name it trixbox-2.8.0.1 and give it appropriate interfaces
Boot and run through the normal trixbox install process
While the install is progressing, modify the boot order in the VM properties so the HDD is above DVD
Modify /boot/grub/menu.lst, make the xen kernel the default
Change the line:
default=1
to:
default=0
Modify the first stanza from:
title trixbox (2.6.18-128.1.10.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-128.1.10.el5
module /vmlinuz-2.6.18-128.1.10.el5xen ro root=LABEL=/
module /initrd-2.6.18-128.1.10.el5xen.img
to:
title trixbox (2.6.18-128.1.10.el5xen)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.1.10.el5xen ro root=LABEL=/ console=xvc0
initrd /initrd-2.6.18-128.1.10.el5xen.img
Rebuild the initrd for the xen kernel (the automatically generated one is missing some xen modules):
rm -f /boot/initrd-2.6.18-128.1.10.el5xen.img
mkinitrd –with=xenblk –with=xennet /boot/initrd-2.6.18-128.1.10.el5xen.img 2.6.18-128.1.10.el5xen
Disable kudzu (otherwise the network interface will go wrong later):
chkconfig –del kudzu
Install the xen version of dahdi:
yum install -y kmod-dahdi-linux-xen
Modify /etc/inittab so you get a local console. Change this section:
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
to:
# Run gettys in standard runlevels
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
Allow root logins at xvc0:
echo xvc0 >> /etc/securetty
Shutdown the VM:
poweroff
Make the VM paravirtualized – at the host console run:
vm=$(xe vm-list name-label=trixbox-2.8.0.1 –minimal)
xe vm-param-set uuid=$vm PV-bootloader=pygrub HVM-boot-policy=
xe vm-param-set uuid=$vm PV-args=utf8
Make the hard disk PV bootable:
vbd=$(xe vm-disk-list uuid=$vm vdi-params=none –minimal)
xe vbd-param-set uuid=$vbd bootable=true
Close and reopen xencenter (this is needed for the KB/mouse to work properly)
Start the VM
Once booted, put the xs-tools.iso in the drive in order to install the Xen Tools (note we don’t install the XenServer provided kernel, as this will break the dahdi modules).
mount /dev/xvdd /mnt
/mnt/Linux/install.sh -k
Reboot, and you should now have a fully working Trixbox 2.8.0.1!
Taken from: http://www.trixbox.org/forums/trixbox-forums/open-discussion/trixbox-xen-guide