FreeBSD PVH

From Xen

This guide explains how to set up a FreeBSD PVH guest. The usage of PVH requires an Intel chip with EPT support.

This guide assumes that the user already has a working FreeBSD HVM amd64 guest installed, based on HEAD, and a Xen install using -unstable with a revision greater than b5dda35f5aa3ab5c7be2333a8a4e0cfa34226654.

Moving from PVHVM to PVH

Copy the FreeBSD kernel from /boot/kernel/kernel to your Dom0.

Add the following lines to /etc/ttys:

xc0 	"/usr/libexec/getty Pc"         xterm   on  secure

And /etc/fstab should also be modified in order to use xbd devices:

# Device	Mountpoint	FStype	Options	Dump	Pass#
/dev/xbd0p2	/		ufs	rw	1	1
/dev/xbd0p3	none		swap	sw	0	0

Now the FreeBSD HVM guest can be stopped, and we need to modify the configuration file so it looks like:

kernel = "/path/to/kernel"
extra="vfs.root.mountfrom=ufs:/dev/xbd0p2"

disk = [
	'phy:/path/to/block/device,xvda,w',
	]

vif = ['bridge=bridge0,mac=00:ff:ff:ff:ff:ff']

memory=4096
vcpus=2
name = "freebsd_pvh"

pvh=1

The main changes are the removal of the builder option, and the addition of kernel and extra instead. Also note the option pvh=1 must be set in order to boot in PVH mode. Then we can boot into the newly created FreeBSD PVH guest:

# xl create -c freebsd_pvh.cfg