For information on editing, see the description of Plan 9 wiki syntax.
These instructions are for Xen 3. See [installing in xen] for Xen 2.0 instructions. INSTALL XEN * Grab xen and install it. Releases 3.0.2 - 3.0.4 and 3.2.1 are known to work. * Start xend ! xend start CREATE A PLAN9 DOMAIN * setup your directory with your kernels and the plan9 install cd. You can get the 9xenpcf, 9xenpccpuf and 9xeninst kernels from /n/sources/xen/xen3. If your Xen hypervisor runs in PAE mode, use 9xenpcf-pae, 9xenpccpuf-pae and 9xeninst-pae instead. The install CD is available at the Plan9 website. ! linux$ mkdir /usr/xen9 ! linux$ cd /usr/xen9 ! linux$ mv /somepath/9xeninst.gz . ! linux$ mv /somepath/9xenpcf.gz . ! linux$ mv /somepath/9xenpccpuf.gz . ! linux$ mv /somepath/plan9.iso . * create a disk image. Here we make a 1GB drive, but you can use any size you like: ! linux$ dd if=/dev/zero of=plan9.img seek=$((1024 * 1024 * 1024 - 1)) bs=1 count=1 * create a xen config file for the plan9 installer. Here we use 96MB of RAM, but you can use any amount you like: ! linux$ cat > /etc/xen/plan9inst ! kernel = "/usr/xen9/9xeninst.gz" ! memory = 96 ! name = "plan9" ! vif = [ 'mac=aa:00:10:00:00:10' ] ! disk = [ 'file:/usr/xen9/plan9.img,sda,w', ! 'file:/usr/xen9/plan9.iso,sdb,r' ] ! restart = 'never' ! ! # This is the equivalent of plan9.ini: ! extra=""" ! nobootprompt=local!/boot/bzroot ! bootfile=sd01!cdboot!bootdisk.img ! """ ! ^D * boot the installer and run through the install process. You will be using the console which is a little clunky. The cdrom is on sd01 and your disk is on sd00. Don't worry about spurious error messages like this: ! dev 3 sector xx, write: 0, should be 4608 When asked for the location of the archive simply enter "/" for the root of the cdrom. At the end of the install when it asks for a blank floppy simply reboot the machine: ! linux$ xm create plan9inst -c ! ... ! % inst/textonly ! ... ! ^T^Tr <- to reboot when you're done * create a xen config file for plan9 and boot it. The new config should use the 9xenpcf kernel (for a terminal) or 9xenpccpuf kernel (for a cpu server) instead of the 9xeninst kernel. The extra arguments provide the name of the fossil disk partition: ! linux$ cat > /etc/xen/plan9 ! kernel = "/usr/xen9/9xenpcf.gz" ! memory = 96 ! name = "plan9" ! vif = [ 'mac=aa:00:10:00:00:10' ] ! disk = [ 'file:/usr/xen9/plan9.img,sda,w' ] ! restart = 'never' ! ! # This is the equivalent of plan9.ini: ! extra=""" ! bootargs=local!#S/sd00/fossil ! """ ! ^D ! linux$ xm create plan9 -c * you'll want to grab the xen bits from /n/sources/xen/xen3/9 and put them in /sys/src/9. To rebuild your kernel, first bind or copy the xen/include/public directory from your Xen3 source distribution to /sys/src/9/xen3/xen-public. Then do ! % cd /sys/src/9/xen3 && mk 'CONF=xenpcf' To build a kernel to run in PAE mode, add 'PAE=yes' to the mk command (or edit the mkfile to make it the default).