bhyveはFreeBSDによる仮想PCハイパーバイザ。しばらく使っているけど特に不具合もなくPCIパススルーも含めて安定して使えている。
vm-bhyveは bhyveを(比較的)簡単に扱うためのシェルスクリプトユーティリティ。
pkg install vm-bhyve bhyve-firmware
ee /etc/rc.conf
ee /boot/loader.conf
vm init
cp /usr/local/share/examples/vm-bhyve/* ${VMDIR}/.templates/
VNET_DEVICE=public
vm switch create ${VNET_DEVICE}
vm switch add ${VNET_DEVICE} re0
vm_enable="YES"
vm_dir="zfs:pool/dataset" # ZFS:zpool
vm_dir="/directory/path" # Filesystem
FreeBSD12.1の時点ではAMDでの仮想化はまだ実験途中な面もあるためデフォルトでは無効化されている。有効化させるには hw.vmm.amdvi.enable=1 を書く必要がある。
vmm_load="YES"
hw.vmm.amdvi.enable = "1"
disk1_type="ahci-cd"
disk1_dev="custom"
disk1_name="/path/to/cdrom.iso"
vmm_load="YES"を入れておき、ブート時にvmm.koを読み込んでおかないとpptdevsは効果がないので注意。
vmm_load="YES"
pptdevs = "2/0/0 2/0/1 3/0/0" # パススルーしたいPCIのBusID
passthru0="2/0/0"
passthru1="2/0/1"