How to install FreeBSD9 with VirtIO
Get the ISO and the virtio-kmod port
curl -O ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-amd64-bootonly.iso
curl -O ftp://ftp.freebsd.org/mirror/FreeBSD/ports/amd64/packages-9-stable/emulators/virtio-kmod-0.234349.tbz
Unpack the iso
mkdir headless /mnt/freebsd
mount FreeBSD-9.0-RELEASE-amd64-bootonly.iso /mnt/freebsd
cp -R /mnt/freebsd/ .
Unpack the virtio-kmod
cd freebsd
tar -xjf virtio-kmod-0.234349.tbz
cd ..
Patch the loader.conf
echo 'virtio_load="YES"' >> freebsd/boot/loader.conf
echo 'virtio_pci_load="YES"' >> freebsd/boot/loader.conf
echo 'virtio_blk_load="YES"' >> freebsd/boot/loader.conf
echo 'if_vtnet_load="YES"' >> freebsd/boot/loader.conf
echo 'virtio_balloon_load="YES"' >> freebsd/boot/loader.conf
Rebuild ISO
mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "FREEBSD_INSTALL" \
-o VIRTIO-FreeBSD-9.0-RELEASE-amd64-bootonly.iso freebsd
Use virt-install –os-type=linux –os-variant=virtio26 to ebanle virtio disk and network.
Post Installation
echo 'virtio_load="YES"' >> /boot/loader.conf
echo 'virtio_pci_load="YES"' >> /boot/loader.conf
echo 'virtio_blk_load="YES"' >> /boot/loader.conf
echo 'if_vtnet_load="YES"' >> /boot/loader.conf
echo 'virtio_balloon_load="YES"' >> /boot/loader.conf
export PACKAGESITE="ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/"
pkg_add -r virtio-kmod