summaryrefslogtreecommitdiff
path: root/microkernel/mach/gnumach/ports/xen.mdwn
blob: c20b6a096e778bc53f9dbcb5114b1781ea3ed549 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor.

This also means that you'll currently need a PAE-disabled `dom0`.
[[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at
<http://brokenpipe.de/GnuHurd/XEN/>.


You can either get binaries at <http://dept-info.labri.fr/~thibault/hurd-xen/> or build them yourself.

- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot.
- Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap
- Run `xm create -c hurd`, gnumach should get started.
- If `xm` complains about networking, it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs.

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!