Install VMM Xen Software
There are a few key differences between using Nimbus with Xen and using it with KVM. Here present some notes about Nimbus when using Xen. Detailed instructions are threaded throughout the vmm setup guide. This page give somes tips and reminders that will help the reader follow the remainder of the guide.
We strongly recommend using your Linux distribution's package management and user guides. If your Linux distribution doesn't support Xen packages you can try installing from source or binary, starting at xen.org
If your Linux distribution has a nice guide for initial testing of Xen, it would be good to follow that advice to weed out any major problems using a known and controlled environment.
The Nimbus project has a sample image compatable with Xen that can be used for testing that Xen, libvirt, and Nimbus are installed correctly. The image is available here
It is a minimal Debian VM with very little installed. It runs an SSH server when it boots. If you have console access to it, you will be able to log in to it using the root account with password root. It also runs the Nimbus context agent on boot, so you can use it to test contextualization.
Pick the kernel to use
Unlike KVM, Xen does not have the kernel built into its images. Because of this a kernel needs to be associated with images when they are launched. The kernels available for boot can be found in /boot/. You may need the matching initrd file as well. The kernel and initrc files that you want to associate with Nimbus VM launches must be copied to /opt/nimbus/var/workspace-control/kernels
Xen and ebtables
ebtables requires kernel support in dom0, the default Xen kernel includes this support. If your domain 0 kernel does not include these for some reason, the options to enable are under Networking :: Networking options :: Network packet filtering :: Bridge Netfilter Configuration :: Ethernet Bridge Tables
When using libvirt on Xen we will often reference the command virsh. virsh takes many commands, but when running with Xen it will always take the option -c 'xen+unix:///'
root # virsh -c 'xen+unix:///' list
For virsh to work with Xen in this way you will need to enable Xen to work with domain sockets. In the /etc/xen/xend-config.sxp file, activate the xend-unix-server configuration by including yes. Then uncomment the xend-unix-path setting and note the value (for example /var/lib/xend/xend-socket). Note that using Xen with the HTTP server method instead of this domain socket method is typically not secure.