FreeBSD on xhyve でディスクをマウントできた
前に xhyve で FreeBSD を動かしたときにディスクのマウントに失敗すると書いた。
原因と解決方法が分かったので補足しておく。
原因 #
BOOTVOLUME
を定義していれば IMG_HDD
の定義は不要だと勘違いしていたが、IMG_HDD
の定義も必要であるらしい。この前は IMG_HDD
を定義していなかったので、ディスクのマウントに失敗していたのである。
解決方法 #
原因が分かったので起動用スクリプトを下記のように修正した。
#!/bin/sh
USERBOOT="test/userboot.so"
BOOTVOLUME="FreeBSD-10.1-RELEASE-amd64.raw"
KERNELENV=""
MEM="-m 1G"
#SMP="-c 2"
#NET="-s 2:0,virtio-net"
#IMG_CD="-s 3,ahci-cd,/somepath/somefile.iso"
IMG_HDD="-s 4,virtio-blk,FreeBSD-10.1-RELEASE-amd64.raw"
PCI_DEV="-s 0:0,hostbridge -s 31,lpc"
LPC_DEV="-l com1,stdio"
#UUID="-U deadbeef-dead-dead-dead-deaddeafbeef"
build/xhyve -A $MEM $SMP $PCI_DEV $LPC_DEV $NET $IMG_CD $IMG_HDD $UUID -f fbsd,$USERBOOT,$BOOTVOLUME,"$KERNELENV"
そうしたら、問題無くディスクがマウントされて FreeBSD が起動した。