FreeBSD に VirtualBox を入れて、ヘッドレスで VM を自動起動する手順を書いてみました。
ヘッドレスなので X Window System は必要ありません。
VirtualBox のインストール
$ pkg install virtualbox-ose
$ vi /boot/loader.conf
vboxdrv_load="YES"
$ vi /etc/rc.conf
vboxnet_enable="YES"
VirtualBox VM作成
$ VBoxManage createvm --name Docker
$ VBoxManage registervm ~/VirtualBox\ VMs/Docker/Docker.vbox
$ VBoxManage modifyvm Docker --memory 10240 --acpi on --ioapic on --cpus 4 --hwvirtex on --nestedpaging on --largepages on --nic1 nat --nictype1 82540EM --nic2 bridged --bridgeadapter2 re0 --nictype2 82540EM --cableconnected1 on --boot1 none --boot2 disk --boot3 dvd --boot4 net --usb off --usbehci off
$ VBoxManage createhd --size 81920 --variant Fixed --filename ~/VirtualBox\ VMs/Docker/Docker.vdi
$ VBoxManage storagectl Docker --name SATA --add sata --portcount 5 --bootable on
$ VBoxManage storageattach Docker --storagectl SATA --port 1 --type hdd --medium ~/VirtualBox\ VMs/Docker/Docker.vdi
$ VBoxManage storageattach Docker --storagectl SATA --port 2 --type dvddrive --medium <imageファイル名>
- VM名は Docker
- メモリは 10240MB
- CPU は 4
- NIC は NAT と Bridged
- CentOS を想定
VM への OS のインストール
実際の OS のインストールには vnc での接続が必要です。
VBoxHeadless -s Docker
rc.conf に登録して VM を自動起動させる
$ vi /etc/rc.conf
vboxheadless_enable="YES"
vboxheadless_machines="docker"
vboxheadless_docker_name="Docker"
vboxheadless_docker_user="hoge"
vboxheadless_docker_stop="acpipowerbutton"
- 起動ユーザー名は hoge