Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor.
You need an already installed GNU/Hurd system.
This also means that you'll currently need a PAE-disabled dom0.
Stefan Siegl is providing a PAE-disabled Linux kernel image at
http://brokenpipe.de/GnuHurd/XEN/.
You can either get binaries at http://youpibouh.thefreecat.org/hurd-xen/ or build them yourself.
- Copy
gnumach-xenandhurd-modulesto your dom0 /boot. - Copy
hurdinto/etc/xen, edit it for fixing access to your hurd / and swap - Run
xm create -c hurd, gnumach should get started. - If
xmcomplains about networking (vif could not be connected), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. - If
xmcomplainsError: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n'), you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel.
If you want to generate these images, first get the gnumach-1-branch-Xen-branch branch from gnumach CVS.
Then look for "Ugly" in kern/bootstrap.c, how to generate hurd-modules is explained there, and you'll have to fix EXT2FS_SIZE and LD_SO_SIZE by hand.
Then use
./configure --enable-platform=xen
make
The current hurd-modules was built from the debian packages hurd 20070606-2 and libc0.3 2.6.1-1.
This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one!
