VagrantでFreeBSD

Windows上のVagrantでFreeBSDを動かしてみる。すごく大変。(エラーを気にしなければ簡単。)

環境

  • Windows 7 Professional SP1 64bit
  • FreeBSD-RELEASE10
  • VirtualBox 4.3.12
  • Vagrant 1.6.3

VirtualBoxとVagrantのインストール

  1. VirtualBoxのダウンロードページ (https://www.virtualbox.org/wiki/Downloads) より、Windows用のインストーラをダウンロードしてインストール。インストールオプションは特に変更の必要なし。途中でデバイスソフトウェアのインストール可否を尋ねるウィンドウが何度か表示されるが、すべて「インストール」を選択して先に進める。

    VirtualBoxダウンロードページ

  2. Vagrantのダウンロードページ (http://www.vagrantup.com/downloads.html) よりWindows用のインストーラをダウンロードしてインストール。

    Vagrantダウンロードページ

  3. Vagrantインストール後にPCを再起動する。

仮想サーバのインストール

  1. 適当にフォルダを作成してそこに移動し、Bento (https://github.com/opscode/bento) からFreeBSD 10に対応したVirtualBox用のBaseboxをインストール。
    # mkdir vagrant
    # cd vagrant
    # vagrant box add freebsd-10.0 "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_freebsd-10.0_chef-provisionerless.box
  2. 仮想サーバを起動。
    # vagrant init freebsd-10.0
    # vagrant up
  3. sshでの接続確認。
    # vagrant ssh

問題点(未解決)

sshでは接続できるものの、vagrant up時に次のようなエラーが出て、コンソールウィンドウが表示できなくなる。

Vagrant attempted to execute the capability 'mount_virtualbox_shared_folder'
on the detect guest OS 'freebsd', but the guest doesn't
support that capability. This capability is required for your
configuration of Vagrant. Please either reconfigure Vagrant to
avoid this capability or fix the issue by creating the capability.

いろいろなところに公開されているFreeBSDのBaseboxを入れてみても、結果は一緒。

FreeBSDではsynced_folderをNFSでしかマウントできないため、そのようにVagrantfileを変更してやる必要があるらしい。cf. NFS (Vagrant Docs)

試しに次の内容でVagrantfileを作成して起動してみたが、結果は変わらなかった。

# -*- mode: ruby; -*-
Vagrant.configure("2") do |config|
  config.vm.guest = :freebsd
  config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_freebsd-10.0_chef-provisionerless.box"
  config.vm.box = "freebsd-10.0"
  config.vm.network "private_network", ip: "10.0.1.10"

  # Use NFS as a shared folder
  config.vm.synced_folder ".", "/vagrant", type: "nfs", id: "vagrant-root"

  config.vm.provider :virtualbox do |vb|
    # vb.customize ["startvm", :id, "--type", "gui"]
    vb.customize ["modifyvm", :id, "--memory", "512"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]
    vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
    vb.customize ["modifyvm", :id, "--audio", "none"]
    vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
    vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
  end
end

Guest Additionsが入っていないと出るエラーだと書いている人もいたけれども、ゲストにログインして確認してみると、ちゃんとGuest Additionsもインストールされている。

$ pkg info | grep -i guest
virtualbox-ose-additions-4.3.8 VirtualBox additions for FreeBSD guests
$

うまく動かせるようになったという人のVagrantfileを試してもエラーが消えないので、何かまた別の原因がありそう。だけど、とりあえずsshで動いているのでよしとすることに。

タイトルとURLをコピーしました