Ops
Search…
Introduction
Getting Started
Basic Usage
Configuration
Examples
Images
Instances
Volumes
Networking
Packages
Klibs
Hardware Acceleration
Google Cloud Integration
Azure
AWS
OpenStack
Digital Ocean
Vultr
VSphere
WorkStation
ProxMox
Hyper-V
Bhyve
Firecracker
UpCloud
Virtual Box
OCI
Visual Studio Code Extension
Terraform
Kubernetes
Bare Metal
Integrations
Debugging
CrossBuilding
Deploy
FAQ
Developer
Getting Started
Install from Source
Powered By
GitBook
Bhyve
Nanos works on Bhyve with some caveats:
Nanos uses ELF files so this support is intended more to run Nanos images not necessarily build them since the default file format on FreeBSD is a.out.
You must build Nanos from source with UEFI support:
1
make ENABLE_UEFI=1
Copied!
This was tested on FreeBSD 13.6.0.
Install bhyve firmware:
1
pkg install sysutils/bhyve-firmware
Copied!
Create a tap/bridge:
1
# ifconfig tap0 create
2
# sysctl net.link.tap.up_on_open=1
3
net.link.tap.up_on_open: 0 -> 1
4
# ifconfig bridge0 create
5
# ifconfig bridge0 addm em0 addm tap0
6
# ifconfig bridge0 up
Copied!
Create/run a Nanos VM:
1
# bhyve -AHP -s 0:0,hostbridge -s 1:0,virtio-blk,./disk.raw \
2
-s 2:0,virtio-net,tap0 -s 3:0,virtio-rnd -s 31:0,lpc \
3
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
4
-l com1,stdio nanos
Copied!
To stop the VM:
1
killall bhyve
Copied!
When building with OPS include the UEFI loader in your config.json:
1
{
2
"Uefi": true
3
}
Copied!
Previous
Hyper-V
Next
Firecracker
Last modified
4mo ago
Copy link