FreeBSD なサーバーに VirtualBox を入れて、その上で Ubuntu server を動かす
というのを CUI だけで行う手順。(途中で VNC は使っちゃうけど。)
VBoxGuestAdditions について追記。
VirtualBox インストール
まずは、VirtualBox をインストールする。ただし、make option で、"Build with VNC support" を追加しておく。
% sudo portinstall emulators/virtualbox-ose
インストールが終わったら /boot/loader.conf に以下を追記する。
vboxdrv_load="YES"
さらに、/etc/rc.conf に以下を追記する。
vboxnet_enable="YES"
インストールはここまで。ドライバーを読ませるために再起動しておく。
ゲスト OS インストール
ゲスト OS をインストールするには、まず以下でサポートされているOSのタイプを調べる。
% VBoxManage list ostypes (snip) ID: Ubuntu Description: Ubuntu (snip)
今回は ubuntu を入れるので、これをメモ。
いよいよ VM 作成。
# VM を作成 % VBoxManage createvm -name "ubuntu server" -basefolder /path/to/vm/dir --ostype Ubuntu --register # HDD を作成 % VBoxManage createhd --filename "ubuntu server/ubuntu server.vdi" --size 102400 # IDE コントローラーを VM に追加。(初めは SirialATA でやってみたけど、途中でハングした。) % VBoxManage storagectl "ubuntu server" --name "IDE Controller" --add ide # HDD をアタッチ % VBoxManage storageattach "ubuntu server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "ubuntu server/ubuntu server.vdi" # ゲスト OS のインストールディスクをアタッチ % VBoxManage storageattach "ubuntu server" --storagectl "IDE Controller" --port 1 --device 1 --type dvddrive --medium ubuntu-11.04-server-i386.iso # VM を VNC (port 2929) 付きで起動 % VBoxHeadless --startvm "ubuntu server" --vnc --vncport 2929
この状態で、VNC で繋いでみると ubuntu のインストーラーが上がっているはずなので、普通にインストールする。
インストールが完了したら、インストールディスクをデタッチする。
% VBoxManage storageattach "ubuntu server" --storagectl "IDE Controller" --port 1 --device 1 --type dvddrive --medium none
NIC をブリッジ接続でアタッチする。
% VBoxManage modifyvm "ubuntu server" --nic1 bridged --bridgeadapter1 bge0 --nicspeed1 1000000
使わないので VRDE を切る
% VBoxManage modifyvm "ubuntu server" --vrde off
これで、完了。あとは、ゲスト OS 側で SSH を設定してやれば VNC はもう要らないので、次回以降 VM を起動するときは以下のコマンドを使う。
% VBoxHeadless --vrde off --startvm "ubuntu server"
VBoxGuestAdditions インストール
まず、Guest OS 側で dkms をインストールしておく。
% sudo aptitude install dkms
ホスト側で、VBoxGuestAdditions.iso をアタッチする。(Guest 停止中じゃないとダメかも。)
% VBoxManage storageattach "ubuntu server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /usr/local/lib/virtualbox/additions/VBoxGuestAdditions.iso
次に、Guest 側で CDROM を mount して、cd して以下を実行する。(x 入ってないので --nox11 付けてる。)
% sudo sh VBoxLinuxAdditions.run --nox11
Guest を停止して、ホスト側で以下を実行して VBoxGuestAdditions.iso をデタッチする。
% VBoxManage storageattach "ubuntu server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium none
Guest を起動しなおせば完成。