bhyve(8) on Solnix vs Linux and the BSDs

bhyve is the illumos hypervisor on a default Solnix system. FreeBSD ships a bhyve with the same name and many of the same options. The Solnix synopsis adds -B (SMBIOS data) and -d (suspend CPUs at boot) and lacks FreeBSD's -n (NUMA) and -p (vCPU pinning). Linux has no counterpart page in the bundle.

What Solnix runs

A default Solnix system runs the illumos bhyve. The header says it is not in /usr/bin, /usr/sbin or /sbin, and that daemons live under /usr/lib. The bundle does not give the exact path. No other variants are shipped. The page comes from pkgs.solnix.illumos-world-man. The FreeBSD text in the bundle is cut off partway through the -n description, so anything after that point (including the -s device list) could not be compared.

Differences

Compared withTopicWhat differs
FreeBSD-B SMBIOS dataSolnix bhyve has -B type,key=value to set SMBIOS data for types 0 to 3 (vendor, manufacturer, product_name, serial_number and so on). The FreeBSD synopsis and the flag list in the bundle have no -B.
Source: Solnix bhyve(8) SYNOPSIS, -B; FreeBSD bhyve(8) SYNOPSIS
FreeBSD-d suspend CPUs at bootSolnix bhyve -d suspends the guest CPUs at boot. The FreeBSD synopsis has no -d.
Source: Solnix bhyve(8) -d; FreeBSD bhyve(8) SYNOPSIS
FreeBSD-n guest NUMA domainsFreeBSD bhyve -n id,size,cpus[,domain_policy] partitions guest memory into NUMA domains (amd64 only, up to 8 domains, needs a boot ROM). The Solnix synopsis has no -n.
Source: FreeBSD bhyve(8) SYNOPSIS, -n; Solnix bhyve(8) SYNOPSIS
FreeBSD-p vCPU pinningFreeBSD bhyve has -p vcpu:hostcpu in its synopsis. The Solnix synopsis and OPTIONS have no -p, so a FreeBSD command line that pins vCPUs will not carry over.
Source: FreeBSD bhyve(8) SYNOPSIS; Solnix bhyve(8) SYNOPSIS
FreeBSDmaximum vCPUsSolnix -c states a fixed maximum of 32 guest vCPUs. On FreeBSD the maximum defaults to the number of active physical CPUs (sysctl hw.vmm.maxcpu) and can be changed with the hw.vmm.maxcpu loader tunable.
Source: Solnix bhyve(8) -c; FreeBSD bhyve(8) -c
FreeBSDbooting the guestFreeBSD describes using a boot ROM (UEFI from edk2-bhyve, or U-Boot on arm64) or loading the guest first with bhyveload(8). The Solnix DESCRIPTION says nothing about boot ROMs or bhyveload.
Source: FreeBSD bhyve(8) DESCRIPTION; Solnix bhyve(8) DESCRIPTION
FreeBSD-m and bhyveloadFreeBSD says the -m size must match the size given to bhyveload(8). The Solnix -m text has no such requirement. Both default to 256 MiB, and the Solnix text calls the suffixes kibibytes to tebibytes.
Source: FreeBSD bhyve(8) -m; Solnix bhyve(8) -m
FreeBSDarchitecture scopeFreeBSD says bhyve runs guests on amd64 and arm64 and marks -a, -e, -H, -l and -n as amd64-only; on arm64 -l is replaced by -o. The Solnix page names no platforms and attaches no such limits to these options.
Source: FreeBSD bhyve(8) DESCRIPTION, -a, -e, -H, -l, -n; Solnix bhyve(8) -a, -e, -H, -l
FreeBSDwiring guest memory (-S) and -PSolnix documents -S (wire guest memory) and -P (exit the vCPU on PAUSE). Both letters appear in the FreeBSD synopsis, but the FreeBSD text in the bundle is trimmed before them, so their wording cannot be compared.
Source: Solnix bhyve(8) -S, -P; FreeBSD bhyve(8) SYNOPSIS
FreeBSDvirtio-net-vionaThe Solnix -s list includes virtio-net-viona (accelerated Virtio network) next to the legacy virtio-net. The bundle's FreeBSD text is trimmed before its device list, so whether FreeBSD offers it is not shown.
Source: Solnix bhyve(8) -s emulation list; FreeBSD bhyve(8) (trimmed)

Standards

  • POSIX: bhyve is not a POSIX.1-2024 utility.

Writing portable scripts

  • Do not rely on -B, -d, -n or -p across Solnix and FreeBSD. Each exists on only one of them in the synopses shown.
  • Put guest settings in a -k config_file (see bhyve_config(5)) or -o var=value. Both systems document these options. Use bhyve -s help and bhyve -l help to list the devices each build supports.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.