読者です 読者をやめる 読者になる 読者になる

xhyve で FreeBSD を動かしてみた

xhyve で FreeBSD をサポートさせるプルリクを見つけたので、xhyve で FreeBSD を動かしてみた。

github.com

xhyve のビルド

プルリクのトピックブランチを取得して xhyve をビルドした。

$ git clone git@github.com:mist64/xhyve.git
$ cd xhyve
$ git checkout -b xez-freebsd master
$ git pull git@github.com:xez/xhyve.git freebsd
$ make

これで FreeBSD に対応した xhyve のバイナリーが生成される。

FreeBSD の起動

起動用スクリプトの作成

下記の内容で起動用スクリプト xhyverun-freebsd.sh を作成した。

#!/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,/somepath/somefile.img"
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"

BOOTVOLUME で指定している FreeBSD-10.1-RELEASE-amd64.rawここからダウンロードしてきたものである。

起動

$ sudo ./xhyverun-freebsd.sh 

FreeBSD のブートメニューが表示される。 f:id:holidayworking:20150627183706p:plain ただし、ディスクをマウントすることができず、ブート中にエラーが発生してしまった。 f:id:holidayworking:20150627184726p:plain FreeBSD にディスクを認識されていないため、マウントに失敗するようである。