Deprecated: FreeBSD as a PV DomU
FreeBSD has gotten Xen support in fits and starts over the last few years. An internet search will show a port of FreeBSD 5 to Xen2, http://txrx.org/xen/ freeBSD 7 to Xen 3.0.2 http://www.fsmware.com/xenofreebsd/ and some chatter about support in 8-CURRENT.
Now, to the best of my knowledge, most of the work for all of these was done by Kip Macy. (thanks!) I just want to make it clear, all I'm doing here is documenting the install and (maybe) making some tarballs of the results of my compilation available.
Ok, so down to business. There is talk that Mr. Macy has gotten support for running FreeBSD 8-Current i386PAE as a paravirt DomU in 8-current http://unix.derkeiler.com/Mailing-Lists/FreeBSD/current/2008-08/msg00551.html so, this page will document how to actually set this up.
First, if you don't alrealdy have an 8-current i386 box about, you need to install one. ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200809/8.0-CURRENT-200809-i386-disc1.iso is what I'm using, but you probably want to use whatever is latest.
Now, I don't actually have a convenient machine laying about. I'm going to try to do this as a paravirt Xen guest. I setup a xen [3.3] host earlier today.
so I set it up the way that looks right and I don't get anything. Nothin on the serial console. so I go and copy the FreeBSD ISO, I edit /boot/defaults/loader.conf, then I re-make the iso with
mkisofs -R -no-emul-boot -o /new.iso -b boot/cdboot .
this on a linux box.
uh, yeah, that worked except for not with sysinstall. I re-done it with vnc.
Now, you want to install the 'kern developer' package when you install. (I install all groups except for minimal and the X packages)
make sure to answer yes to the 'do you want to install ports' question.
After you install, pkg-add -r cvsup (you can build this from ports, but warning, it will take quite some time. )
cvsup -g /usr/share/examples/cvsup/standard-supfile -h cvsup11.freebsd.org
(standard-supfile fetches HEAD. for normal operation you likely want stable-supfile. But this isn't normal operation, now is it. This is Xen.)
after you are done checking out current sources,
edit /usr/src/sys/i386/conf/XEN if required
make buildworld make buildkernel KERNCONF=XEN make installworld DESTDIR=/xenworld make installkernel DESTDIR=/xenworld