I struggled a bit to get this working, so here's what I did for anyone who would like to do the same.
The fact that Xen works with disk images created under Qemu is very useful, as doing the main install is easier that way.
Get the NetBSD 3.0 iso image
i386cd-3.0.iso
from a NetBSD mirror site.
Create a Qemu disk image:
$ qemu-img create netbsd.dsk 2G
Run Qemu to install NetBSD to it:
$ qemu -hda netbsd.dsk -cdrom i386-3.0.iso -monitor stdio -boot d -m 256
Do the installation within Qemu. When the installation finishes, halt the virtual machine.
Make a copy of netbsd.dsk
(just in case).
Now check that you can start it again:
$ qemu -hda netbsd.dsk -monitor stdio -boot c -m 256
In the NetBSD virtual machine under Qemu, edit
/etc/fstab
and replace the reference to
/dev/wd0a
by
/dev/xbd0a
,
and similarly for
/dev/wd0b
and so on. (This was the part that
held me up: the VM was coming up in single user mode under Xen and saying that
its disk devices were not configured.
Download the Xen-capable NetBSD kernel from e.g.
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-daily/HEAD/200605180000Z/i386/binary/kernel/netbsd-XEN3_U.gz
Uncompress it:
$ gzip -d netbsd-XEN3_U.gz
Check that we are running on Xen:
$ uname -r
2.6.16.14-6-xen
Create a Xen configuration file netbsd.vm.conf
disk = [ 'file:/home/roger/netbsd/netbsd.dsk,hda,w']
memory = 256
vcpus = 1
builder = 'linux'
kernel = '/home/roger/netbsd/netbsd-XEN3_U'
name = 'netbsd'
vif = [ 'mac=00:16:3e:ff:f6:80' ]
dhcp = "dhcp"
Now we can run (as root) the VM under Xen:
# xm create -c netbsd.vm.conf