- Add a news entry
- Update the driver page with documentation of the new options
and some examples
---
docs/drvbhyve.html.in | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++
docs/news.xml | 13 +++++++
2 files changed, 107 insertions(+)
diff --git a/docs/drvbhyve.html.in b/docs/drvbhyve.html.in
index 64a1ff694..0aed121ff 100644
--- a/docs/drvbhyve.html.in
+++ b/docs/drvbhyve.html.in
@@ -155,6 +155,57 @@ Note the addition of <bootloader>.
</domain>
</pre>
+<h3>Example config (Linux UEFI guest, VNC, tablet)</h3>
+
+<p>This is an example to boot into Fedora 25 installation:</p>
+
+<pre>
+<domain type='bhyve'>
+ <name>fedora_uefi_vnc_tablet</name>
+ <memory unit='G'>4</memory>
+ <vcpu>2</vcpu>
+ <os>
+ <type>hvm</type>
+ <b><loader readonly="yes"
type="pflash">/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</loader></b>
+ </os>
+ <features>
+ <apic/>
+ <acpi/>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <disk type='file' device='cdrom'>
+ <driver name='file' type='raw'/>
+ <source
file='/path/to/Fedora-Workstation-Live-x86_64-25-1.3.iso'/>
+ <target dev='hdc' bus='sata'/>
+ <readonly/>
+ </disk>
+ <disk type='file' device='disk'>
+ <driver name='file' type='raw'/>
+ <source file='/path/to/linux_uefi.img'/>
+ <target dev='hda' bus='sata'/>
+ </disk>
+ <interface type='bridge'>
+ <model type='virtio'/>
+ <source bridge="virbr0"/>
+ </interface>
+ <serial type="nmdm">
+ <source master="/dev/nmdm0A"
slave="/dev/nmdm0B"/>
+ </serial>
+ <b><graphics type='vnc' port='5904'>
+ <listen type='address' address='127.0.0.1'/>
+ </graphics>
+ <controller type='usb' model='nec-xhci'/>
+ <input type='tablet' bus='usb'/></b>
+ </devices>
+</domain>
+</pre>
+
+<p>Please refer to the <a href="#uefi">UEFI</a> section for a
more detailed explanation.</p>
+
<h2><a name="usage">Guest usage / management</a></h2>
<h3><a name="console">Connecting to a guest
console</a></h3>
@@ -261,6 +312,49 @@ attempt to boot from the first partition in the disk
image.</p>
<p>Caveat: <code>bootloader_args</code> does not support any quoting.
Filenames, etc, must not have spaces or they will be tokenized incorrectly.</p>
+<h3><a name="uefi">Using UEFI bootrom, VNC, and USB
tables</a></h3>
+
+<p><span class="since">Since 3.2.0</span>, in addition to
<a href="#grubbhyve">grub-bhyve</a>,
+non-FreeBSD guests could be also booted using an UEFI boot ROM, provided both guest OS
and
+installed <code>bhyve(1)</code> version support UEFI. To use that,
<code>loader</code>
+should be specified in the <code>os</code> section:</p>
+
+<pre>
+<domain type='bhyve'>
+ ...
+ <os>
+ <type>hvm</type>
+ <loader readonly="yes"
type="pflash">/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</loader>
+ </os>
+ ...
+</pre>
+
+<p>This uses the UEFI firmware provided by
+the <a
href="https://www.freshports.org/sysutils/bhyve-firmware/">s...
+FreeBSD port.</p>
+
+<p>VNC and the tablet input device could be configured this way:</p>
+
+<pre>
+<domain type='bhyve'>
+ <devices>
+ ...
+ <graphics type='vnc' port='5904'>
+ <listen type='address' address='127.0.0.1'/>
+ </graphics>
+ <controller type='usb' model='nec-xhci'/>
+ <input type='tablet' bus='usb'/>
+ </devices>
+ ...
+</domain>
+</pre>
+
+<p>This way, VNC will be accessible on
<code>127.0.0.1:5904</code>.</p>
+
+<p>Please note that the tablet device requires to have an USB controller
+of the <code>nec-xhci</code> model. Currently, only a single controller of
this
+type and a single tablet are supported per domain.</p>
+
<h3><a name="clockconfig">Clock configuration</a></h3>
<p>Originally bhyve supported only localtime for RTC. Support for UTC time was
introduced in
diff --git a/docs/news.xml b/docs/news.xml
index 814bd93fd..0db9813d7 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -70,6 +70,19 @@
introducing a new host device type in the XML.
</description>
</change>
+ <change>
+ <summary>
+ bhyve: Add support for UEFI boot ROM, VNC, and USB tablet
+ </summary>
+ <description>
+ The bhyve driver now supports booting using the UEFI boot ROM,
+ so non-FreeBSD guests that support UEFI could be booted without
+ using an external boot loader like grub-bhyve. Video is also
+ supported now, allowing to connect to guests via VNC and use
+ an USB tablet as an input device. Please refer to
+ the driver page for domain XML examples.
+ </description>
+ </change>
</section>
<section title="Improvements">
<change>
--
2.11.0