{"id":5418,"date":"2026-04-12T12:54:02","date_gmt":"2026-04-12T16:54:02","guid":{"rendered":"https:\/\/dft.wiki\/?p=5418"},"modified":"2026-05-22T13:28:42","modified_gmt":"2026-05-22T17:28:42","slug":"virtualisation-with-bhyve-plus-sylve-on-freebsd","status":"publish","type":"post","link":"https:\/\/dft.wiki\/?p=5418","title":{"rendered":"Virtualization with Bhyve on FreeBSD"},"content":{"rendered":"<p><strong>FreeBSD<\/strong> [<a href=\"https:\/\/www.freebsd.org\/\">Link<\/a>] traditionally leans heavily on the command line (CLI), but for this setup, web-based system administration tools can significantly improve the user experience.<\/p>\n<p><strong>Bhyve<\/strong> (pronounced &#8220;beehive&#8221;) [<a href=\"https:\/\/wiki.freebsd.org\/bhyve\">Link<\/a>] is an incredibly lean and efficient hypervisor\u00a0that relies on kernel modules. While <strong>KVM<\/strong> is the king of the Linux world, <strong>bhyve<\/strong> (supposedly) often achieves lower CPU and memory overhead on FreeBSD.<\/p>\n<p><strong>Sylve<\/strong> [<a href=\"https:\/\/sylve.io\/\">Link<\/a>] is a modern, sleek web interface that provides unified management of Bhyve VMs, Jails, ZFS storage, networking, and system monitoring.<\/p>\n<p><strong>Webmin<\/strong> [<a href=\"https:\/\/github.com\/webmin\/webmin\">Link<\/a>] is a mature web-based system administration tool for Unix-like systems.<\/p>\n<hr \/>\n<p><strong>INSTALLATION<\/strong><\/p>\n<p><strong>Webmin<\/strong><\/p>\n<pre>pkg install webmin\r\n\/usr\/local\/lib\/webmin\/setup.sh\r\nsysrc webmin_enable=\"YES\"\r\nservice webmin start<\/pre>\n<p>Navigate to <strong>https:\/\/&lt;SERVER_IP&gt;:10000<\/strong><\/p>\n<p><strong>Sylve<\/strong><\/p>\n<pre>pkg install vm-bhyve bhyve-firmware sylve\r\nsysrc sylve_enable=\"YES\"\r\nservice sylve start<\/pre>\n<p>Navigate to <strong>https:\/\/&lt;SERVER_IP&gt;:8181<\/strong> to finish setup.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5459\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-08-55.png\" alt=\"\" width=\"533\" height=\"340\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-08-55.png 533w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-08-55-300x191.png 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5460\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-09-08.png\" alt=\"\" width=\"356\" height=\"196\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-09-08.png 356w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-09-08-300x165.png 300w\" sizes=\"auto, (max-width: 356px) 100vw, 356px\" \/><\/p>\n<hr \/>\n<p><strong>WEB-UI PREVIEW<\/strong><\/p>\n<ul>\n<li><strong>Webmin<\/strong>\n<ul>\n<li>Purpose: server management.\n<ul>\n<li>Operating System,<\/li>\n<li>Kernel,<\/li>\n<li>Networking,<\/li>\n<li>Hardware.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5432\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-36-38.png\" alt=\"\" width=\"1423\" height=\"1296\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-36-38.png 1423w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-36-38-300x273.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-36-38-1024x933.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-36-38-768x699.png 768w\" sizes=\"auto, (max-width: 1423px) 100vw, 1423px\" \/><\/p>\n<p>Quick preview of the main menu.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5424\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-29-48.png\" alt=\"\" width=\"265\" height=\"191\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5425\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-30-07.png\" alt=\"\" width=\"265\" height=\"430\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-30-07.png 265w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-30-07-185x300.png 185w\" sizes=\"auto, (max-width: 265px) 100vw, 265px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5426\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-30-34.png\" alt=\"\" width=\"265\" height=\"141\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5427\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-30-52.png\" alt=\"\" width=\"265\" height=\"272\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5428\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-31-12.png\" alt=\"\" width=\"265\" height=\"191\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5429\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-31-28.png\" alt=\"\" width=\"265\" height=\"114\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5430\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-31-48.png\" alt=\"\" width=\"265\" height=\"217\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5431\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-32-03.png\" alt=\"\" width=\"265\" height=\"816\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-32-03.png 265w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-32-03-97x300.png 97w\" sizes=\"auto, (max-width: 265px) 100vw, 265px\" \/><\/p>\n<ul>\n<li><strong>Sylve<\/strong>\n<ul>\n<li>Purpose: workloads and services.\n<ul>\n<li>Virtual Machines,<\/li>\n<li>Containers,<\/li>\n<li>Microservices Orchestration,<\/li>\n<li>Clusters.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5421\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-26-17.png\" alt=\"\" width=\"1418\" height=\"518\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-26-17.png 1418w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-26-17-300x110.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-26-17-1024x374.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-26-17-768x281.png 768w\" sizes=\"auto, (max-width: 1418px) 100vw, 1418px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5422\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-27-25.png\" alt=\"\" width=\"1418\" height=\"1144\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-27-25.png 1418w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-27-25-300x242.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-27-25-1024x826.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_13-27-25-768x620.png 768w\" sizes=\"auto, (max-width: 1418px) 100vw, 1418px\" \/><\/p>\n<hr \/>\n<p><strong>TIPS AND TRICKS<\/strong><\/p>\n<p><strong>FreeBSD<\/strong><\/p>\n<ul>\n<li>Powering off completely.<\/li>\n<\/ul>\n<pre>shutdown -p now<\/pre>\n<ul>\n<li>Install Nano.<\/li>\n<\/ul>\n<pre>pkg install nano<\/pre>\n<p><strong>Webmin<\/strong><\/p>\n<ul>\n<li>If using a reverse proxy or a WAF, change the default port from 10000 to 443 to prevent redirects to port 10000 at logon.<\/li>\n<\/ul>\n<pre>nano \/usr\/local\/etc\/webmin\/miniserv.conf<\/pre>\n<p>Replace the port number on <code>port=<\/code>\u00a0and <code>listen=<\/code>. Then apply.<\/p>\n<pre>service webmin restart\r\nsockstat -l | grep :443<\/pre>\n<p>Also, update the referrers with the FQDN at <strong>Trusted Referrers<\/strong>. E.g., wemin.domain.com<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5434\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-19-41.png\" alt=\"\" width=\"604\" height=\"431\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-19-41.png 604w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-19-41-300x214.png 300w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/p>\n<ul>\n<li>Fix the warning\/info message that claims <code>temp files directory<\/code>\u00a0<code>has a size of only 0 bytes<\/code>.<\/li>\n<\/ul>\n<pre>mkdir -p \/var\/webmin-tmp\r\nchmod 700 \/var\/webmin-tmp<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5462\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-59-38.png\" alt=\"\" width=\"862\" height=\"351\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-59-38.png 862w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-59-38-300x122.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-13_10-59-38-768x313.png 768w\" sizes=\"auto, (max-width: 862px) 100vw, 862px\" \/><\/p>\n<pre>service webmin restart<\/pre>\n<p><strong>Sylve<\/strong><\/p>\n<ul>\n<li>Disable the <strong>admin<\/strong> account after a new admin account is created.<\/li>\n<\/ul>\n<pre>nano \/usr\/local\/etc\/sylve\/config.json<\/pre>\n<pre>{\r\n    \"environment\": \"development\",\r\n    \"proxyToVite\": false,\r\n    \"auth\": {\r\n        \"enablePAM\": true\r\n    },\r\n    \"admin\": {\r\n        \"email\": \"<strong>disabled<\/strong>@sylve.local\",\r\n        \"password\": \"<strong>675sdf67gb5d8976b76gdds<\/strong>\"\r\n    },\r\n    \"logLevel\": 0,\r\n    \"port\": 8181,\r\n    \"httpPort\": 8182,\r\n    \"raft\": {\r\n        \"reset\": false\r\n    },\r\n    \"btt\": {\r\n        \"rpc\": {\r\n            \"enabled\": false,\r\n            \"host\": \"127.0.0.1\",\r\n            \"port\": 6890\r\n        },\r\n        \"dht\": {\r\n            \"enabled\": false,\r\n            \"port\": 7246\r\n        }\r\n    }\r\n}<\/pre>\n<p>Note that it is not really disabling but giving it an unguesseable password. Now, apply.<\/p>\n<pre>service sylve restart<\/pre>\n<ul>\n<li>Create a network <strong>Bridge<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5439\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-30.png\" alt=\"\" width=\"704\" height=\"564\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-30.png 704w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-30-300x240.png 300w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5440\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-43.png\" alt=\"\" width=\"1097\" height=\"451\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-43.png 1097w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-43-300x123.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-43-1024x421.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-28-43-768x316.png 768w\" sizes=\"auto, (max-width: 1097px) 100vw, 1097px\" \/><\/p>\n<ul>\n<li>Download <strong>ISOs<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5437\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-50-07.png\" alt=\"\" width=\"530\" height=\"373\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-50-07.png 530w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-50-07-300x211.png 300w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5438\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-49-38.png\" alt=\"\" width=\"1269\" height=\"291\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-49-38.png 1269w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-49-38-300x69.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-49-38-1024x235.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-10_14-49-38-768x176.png 768w\" sizes=\"auto, (max-width: 1269px) 100vw, 1269px\" \/><\/p>\n<ul>\n<li>Create <strong>VM<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5443\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-35-17.png\" alt=\"\" width=\"733\" height=\"483\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-35-17.png 733w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-35-17-300x198.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5444\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-51-30.png\" alt=\"\" width=\"733\" height=\"590\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-51-30.png 733w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-51-30-300x241.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5445\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-51-39.png\" alt=\"\" width=\"733\" height=\"551\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-51-39.png 733w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-51-39-300x226.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5446\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-52-17.png\" alt=\"\" width=\"733\" height=\"430\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-52-17.png 733w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-52-17-300x176.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5447\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-52-30.png\" alt=\"\" width=\"733\" height=\"587\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-52-30.png 733w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_11-52-30-300x240.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/p>\n<ul>\n<li>Start <strong>VM<\/strong>.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5449\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-01-03.png\" alt=\"\" width=\"946\" height=\"405\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-01-03.png 946w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-01-03-300x128.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-01-03-768x329.png 768w\" sizes=\"auto, (max-width: 946px) 100vw, 946px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5454\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-59-33.png\" alt=\"\" width=\"1067\" height=\"736\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-59-33.png 1067w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-59-33-300x207.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-59-33-1024x706.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2026\/04\/Screenshot_2026-04-12_12-59-33-768x530.png 768w\" sizes=\"auto, (max-width: 1067px) 100vw, 1067px\" \/><\/p>\n<hr \/>\n<p><strong>UNDER THE HOOD<\/strong><\/p>\n<p>Bhyve can be managed in two distinct ways:<\/p>\n<ul>\n<li><code>vm-bhyve<\/code>\n<ul>\n<li>Command: <code>vm<\/code><\/li>\n<li>Driver: <strong>N\/A<\/strong> (direct call)<\/li>\n<li>Use: <strong>API written in <code>sh<\/code> mostly used in CLI.<\/strong><\/li>\n<\/ul>\n<\/li>\n<li><code>libvirt<\/code>\n<ul>\n<li>Command: <code>virsh<\/code><\/li>\n<li>Driver: <code>libvirt-driver-bhyve<\/code><\/li>\n<li>Use: <strong>a translation layer for CLI and Sylve.<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>For comparison, see how KVM works in Linux.<\/p>\n<ul>\n<li><code>libvirt<\/code>\n<ul>\n<li>Command: <code>virsh<\/code><\/li>\n<li>Driver: <code>libvirt-driver-qemu<\/code><\/li>\n<li>Use: <strong>a translation layer for CLI and Virt-Manager.<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>That being said, when running Sylve, avoid using <code>vm<\/code> and referring to <code>virsh<\/code> commands to manage the same instances present on the <strong>Sylve<\/strong> dashboard. Refer to this post for commands [<a href=\"https:\/\/dft.wiki\/?p=3526\">Link<\/a>].<\/p>\n<p><strong>Note:<\/strong> since <code>bhyve<\/code> is a younger and more &#8220;minimalist&#8221; hypervisor than <strong>KVM<\/strong>, some advanced <code>virsh<\/code> flags may not be present yet in FreeBSD. Be aware that <code>bhyve<\/code> works with <strong>Raw<\/strong> (not recommended) or <strong>ZFS<\/strong> volumes (<code>zvols<\/code>), not <strong>QCOW2<\/strong> like its cousin (KVM).<\/p>\n<hr \/>\n<p><strong>BONUS<\/strong><\/p>\n<p>In the event of running <code>bhyve<\/code> without the GUI provided by Sylve, here are some basic commands for setting up and managing the hypervisor.<\/p>\n<ul>\n<li>Load and check the virtualization kernel module.<\/li>\n<\/ul>\n<pre>kldload vmm\r\nkldstat\r\necho 'vmm_load=\"YES\"' &gt;&gt; \/boot\/loader.conf<\/pre>\n<ul>\n<li>Install <code>bhyve<\/code> packages.<\/li>\n<\/ul>\n<pre>pkg install vm-bhyve bhyve-firmware\r\nmkdir \/vms\r\nsysrc vm_enable=\"YES\"\r\nsysrc vm_dir=\"\/vms\"\r\ncat \/etc\/rc.conf<\/pre>\n<ul>\n<li>Initialize the guest management system.<\/li>\n<\/ul>\n<pre>vm init\r\nls -l \/vms<\/pre>\n<ul>\n<li>Copy the template examples.<\/li>\n<\/ul>\n<pre>cp \/usr\/local\/share\/examples\/vm-bhyve\/* \/vms\/.templates<\/pre>\n<ul>\n<li>Make it compatible with Linux guest instances.<\/li>\n<\/ul>\n<pre>pkg install grub2-bhyve<\/pre>\n<ul>\n<li>Create a Public network bridge.<\/li>\n<\/ul>\n<pre>vm switch create public\r\nvm switch add public &lt;NIC&gt;\r\nvm switch info public<\/pre>\n<ul>\n<li>Basic commands to manage guest instances and ISOs.<\/li>\n<\/ul>\n<pre>vm list\r\nvm iso &lt;URL&gt;\r\nvm create &lt;VM_NAME&gt;\r\nvm create -d &lt;DATASTORE&gt; -t &lt;TEMPLATE&gt; -s &lt;STORAGE_SIZE&gt; -m &lt;RAM_SIZE&gt; -c &lt;vCPU_COUNT&gt; &lt;VM_NAME&gt;\r\nvm remove &lt;VM_NAME&gt;\r\nvm install &lt;VM_NAME&gt; \/vms\/.iso\/&lt;ISO_FILE_NAME&gt;\r\nvm console &lt;VM_NAME&gt;\r\nvm stop &lt;VM_NAME&gt;\r\nvm configure &lt;VM_NAME&gt;\r\nvm start &lt;VM_NAME&gt;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>FreeBSD [Link] traditionally leans heavily on the command line (CLI), but for this setup, web-based [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-5418","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/5418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5418"}],"version-history":[{"count":13,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/5418\/revisions"}],"predecessor-version":[{"id":5516,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/5418\/revisions\/5516"}],"wp:attachment":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}