Plan 9 on Xen 3
This is an initial port of Plan 9 to Xen 3. It has been tested with
the stable 3.0.2, 3.0.3 and 3.0.4 releases of Xen, and has been seen
to boot on Xen 3.2.1 and XenServer 5.5. It should work with other
Xen 3 versions, if recompiled with the corresponding xen/public include
files (see below).
Kernel source is in 9/xen3 - to build a new kernel, copy or
bind into /sys/src/9/xen3, copy or bind the xen/include/public
directory from the Xen source distribution (or the /usr/include/xen
directory from the Xen binary distribution) into /sys/src/9/xen3/xen-public,
and mk. There are also optional updates to two files in /sys/src/9/port,
which will reduce the number of alarming error messages if your Xen
host system is built with 'debug=y'.
There are some pre-built kernels here. 9xeninst.gz can be used
to install from a standard Plan 9 ISO image; for instructions see
see http://plan9.bell-labs.com/wiki/plan9/installing_in_xen_3.0
9xenpcf.gz or 9xenpccpuf.gz can then be used to boot a Plan 9 terminal
or cpu server respectively using the installed file system. They should
also work with the pre-built fossil filesystem image which was
made for Xen 2.0 -- see /n/sources/xen/xen2/plan9root.fossil.bz2
Disks (or pseudo-disk files) must be exported from the Xen host
as hd[a-d] or sd[a-h], with the obvious mapping into Plan 9 names
sd[CD][01] or sd0[0-7] respectively. Any number (within reason)
of virtual network interfaces may be exported. To configure the
network when Plan 9 boots, you need to add an ip/ipconfig command
to the beginning of the /bin/termrc or /bin/cpurc script.
If your Xen hypervisor runs in PAE mode, you will need a PAE
version of the Plan 9 kernel. Just add 'PAE=yes' to the mk command,
or use the pre-built versions named *-pae.gz.
|