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