vagrant-bhyve

This is a Vagrant plugin which enable FreeBSD's hypervisor bhyve as its backend.

Status

Functions

Function Status
Box format Defined
Check bhyve support Working
Cloning Working(needs gcp package to copy image)
Booting(BIOS) Working
Network Working(needs pf and dnsmasq to provider NAT and DHCP)
SSH/SSH run Working(SSH run may needs bash)
Graceful shutdown Working
ACPI shutdown Working
Destroying Working
Provision Working
File sharing Working(NFS and vagrant-sshfs, maybe switch to VirtFS in the future)
Booting(UEFI) Not working
Port forwarding Not working
Suspend Not supported by bhyve yet
Resume Not supported by bhyve yet

Boxes

Collecting status of boxes from Atlas other than those provided by FreeBSD

Function Status
ubuntu/trusty64 Working
laravel/homestead Untested
hashicorp/precise64 Untested
hashicorp/precise32 Untested
centos/7 Working
puphpet/ubuntu1404-x64 Untested
ubuntu/trusty32 Untested
puphpet/debian75-x64 Untested
debian/jessie64 Working
scotch/box Untested
centos/6 Working

Test

Setup environment

$ git clone https://github.com/jesa7955/vagrant-bhyve.git
$ cd vagrant-bhyve
$ bundle install --path vendor/bundle --binstubs

Note we will need package coreutils and dnsmasq(and of course we will need grub-bhyve to boot Linux box), vagrant-bhyve will try to install them with pkg.

Create a box

Thanks to Steve Wills's work, now you can convert a VirtualBox box to a bhyve one with vagrant-mutate.

Run the box

After a box is created, you should create another Vagrantfile.

Vagrant.configure("2") do |config|
  config.vm.box = "boxname"
end

then execute this command to start the box with bhyve

$ /path/to/vagrant-bhyve/bin/vagrant up --provider=bhyve

SSH into the box

After the box is booted(uped), you can ssh into by executing this command. Note that you will have to use password to authorize for now.

$ /path/to/vagrant-bhyve/bin/vagrant ssh

Shutdown the box and cleanup

This command will shutdown the booted VM and clean up environment

$ /path/to/vagrant-bhyve/bin/vagrant halt

Destroy the box

$ /path/to/vagrant-bhyve/vagrant destroy

Installation

Usage

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jesa7955/vagrant-bhyve.

License

MIT