2017/05/15
_ [FreeBSD]FreeBSD なサーバーに VirtualBox 5.1.18 を入れて、headless で Ubuntu を動かす
まずは ports から headless用の virtualbox をインストール
# cd /usr/ports/emulators/virtualbox-ose-nox11 # make # ... make 出来ることを確認
その後、symlinkエラーを無視するよう修正。virtualbox ポリシーに背くけど (^^; (VirtualBox は GPLなので、それに従いソースの patch を記す)
--- emulators/virtualbox-ose-nox11/work/VirtualBox-5.1.18/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp 2017-05-14 12:55:20.030470000 +0900
+++ emulators/virtualbox-ose-nox11/work/VirtualBox-5.1.18/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp~ 2017-03-16 04:17:34.000000000 +0900
@@ -1404,9 +1404,7 @@
&& !S_ISREG(pFsObjState->Stat.st_mode))
{
- if (S_ISLNK(pFsObjState->Stat.st_mode)) {
- return VINF_SUCCESS;
+ if (S_ISLNK(pFsObjState->Stat.st_mode))
return supR3HardenedSetError3(VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED, pErrInfo,
"Symlinks are not permitted: '", pszPath, "'");
- }
return supR3HardenedSetError3(VERR_SUPLIB_NOT_DIR_NOT_FILE, pErrInfo,
"Not regular file or directory: '", pszPath, "'");
/boot/loader.conf と /etc/rc.conf に関連設定を追加
# vi /boot/loader.conf vboxdrv_load="YES" # vi /etc/rc.conf vboxnet_enable="YES" vboxdrv_load="YES"
ubuntu 16.04 LTS の DVD image を用いて vboxを作成。 64bit OS、VNC接続(Port=5901) できるように設定。
# vboxmanage createvm --name <VMname> --basefolder /hoge --ostype Ubuntu_64 --register # VBoxManage modifyvm <VMname> --memory 2048 --acpi on --ioapic on --cpus 2 --hwvirtex on --nestedpaging on --largepages on --nic1 bridged --bridgeadapter1 em0 --nictype1 Am79C973 --cableconnected1 on --boot1 dvd --boot2 disk --boot3 none --boot4 net --usb off --usbehci off # vboxmanage createhd --size 20480 --filename /PathToVdiImage # VBoxManage storagectl <VMname> --name "IDE Controller" --add ide --controller PIIX4 --bootable on # VBoxManage storageattach <VMname> --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /PathToDvdImage # VBoxManage storageattach <VMname> --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /PathToVdiImage # VBoxManage modifyvm ubuntu1604 --vrde on --vrdeport 5901 --vrdeproperty VNCPassword=<MyPassword>
途中でハマったこと。
最初 ostype を Ubuntu としてインストールしてしまい、DVDをブートして直後に
This kernel requires an x86-64 CPU, but only detected an i686 CPU
エラーが発生した。
色々とググってみると 『BIOSメニュー上で VT-xが有効化されていないから』 というアドバイスを見つけたが、俺の場合は既に設定済み (>_<)。
更にググってみると、ostype と稼働させるOSのbitが異なるからという指摘を見つけ、 まさにその状態であると判明。そこでインストール状態の vbox に対して追加で、
vboxmanage modifyvm <VMname> --ostype Ubuntu_64
とするも、あえなく撃沈 orz
結局 unregistervm して、念のため vbox ファイルも削除してから、 改めて createvm 以降やり直ししたら無事起動できた \(^o^)/ どうやら後から ostype を指定し直してもダメなようだ。
参考にさせていただいたサイト:
[ツッコミを入れる]