[libvirt] [PATCH] docs: document bhyve UEFI support

Roman Bogorodskiy bogorodskiy at gmail.com
Mon Mar 27 16:33:52 UTC 2017


 - 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/">sysutils/bhyve-firmware</a>
+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




More information about the libvir-list mailing list