Date: Tue, 28 Mar 2017 00:09:27 +0000 (UTC) From: Michael Dexter <dexter@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r50094 - head/en_US.ISO8859-1/books/handbook/virtualization Message-ID: <201703280009.v2S09RWS061335@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dexter Date: Tue Mar 28 00:09:27 2017 New Revision: 50094 URL: https://svnweb.freebsd.org/changeset/doc/50094 Log: Add UEFI section to the Virtualization chapter PR: 215762 Submitted by: czarkoff@gmail.com Approved by: bcr (mentor) Modified: head/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml Modified: head/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml Mon Mar 27 23:24:14 2017 (r50093) +++ head/en_US.ISO8859-1/books/handbook/virtualization/chapter.xml Tue Mar 28 00:09:27 2017 (r50094) @@ -91,7 +91,7 @@ <listitem> <para>Know how to <link linkend="ports">install additional - third-party software</link>.</para> + third-party software</link>.</para> </listitem> </itemizedlist> </sect1> @@ -971,9 +971,9 @@ perm pass* 0660</programlisting> <acronym>BSD</acronym>-licensed hypervisor became part of the base system with &os; 10.0-RELEASE. This hypervisor supports a number of guests, including &os;, OpenBSD, and many &linux; - distributions. Currently, <application>bhyve</application> only - supports a serial console and does not emulate a graphical - console. Virtualization offload features of newer + distributions. By default, <application>bhyve</application> + provides access to serial console and does not emulate a + graphical console. Virtualization offload features of newer <acronym>CPU</acronym>s are used to avoid the legacy methods of translating instructions and manually managing memory mappings.</para> @@ -1175,6 +1175,81 @@ grub> <userinput>boot</userinput></scree <screen>&prompt.root; <userinput>bhyvectl --destroy --vm=<replaceable>linuxguest</replaceable></userinput></screen> </sect2> + <sect2 xml:id="virtualization-bhyve-uefi"> + <title>Booting <application>bhyve</application> Virtual Machines + with <acronym>UEFI</acronym> Firmware</title> + + <para>In addition to <application>bhyveload</application> and + <application>grub-bhyve</application>, the + <application>bhyve</application> hypervisor can also boot + virtual machines using the <acronym>UEFI</acronym> userspace + firmware. This option may support guest operating systems + that are not supported by the other loaders.</para> + + <para>In order to make use of the <acronym>UEFI</acronym> + support in <application>bhyve</application>, first obtain the + <acronym>UEFI</acronym> firmware images. This can be done + by installing <package>sysutils/bhyve-firmware</package> + port or package.</para> + + <para>With the firmware in place, add the flags + <option>-l bootrom,<replaceable>/path/to/firmware</replaceable></option> + to your <application>bhyve</application> command line. + The actual <application>bhyve</application> command may look + like this:</para> + + <screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ +-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \ +-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \ +-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</replaceable> \ +<replaceable>guest</replaceable></userinput></screen> + + <para><package>sysutils/bhyve-firmware</package> also contains a + <acronym>CSM</acronym>-enabled firmware, to boot guests with no + <acronym>UEFI</acronym> support in legacy + <acronym>BIOS</acronym> mode:</para> + + <screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ +-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \ +-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \ +-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI_CSM.fd</replaceable> \ +<replaceable>guest</replaceable></userinput></screen> + </sect2> + + <sect2 xml:id="virtualization-bhyve-framebuffer"> + <title>Graphical <acronym>UEFI</acronym> Framebuffer for + <application>bhyve</application> Guests</title> + + <para>The <acronym>UEFI</acronym> firmware support is particularly + useful with predominantly graphical guest operating systems + such as Microsoft &windows;.</para> + + <para>Support for the UEFI-GOP framebuffer may also be enabled + with the <option>-s 29,fbuf,tcp=<replaceable>0.0.0.0:5900</replaceable></option> + flags. The framebuffer resolution may be configured with + <option>w=<replaceable>800</replaceable></option> and + <option>h=<replaceable>600</replaceable></option>, and + <application>bhyve</application> can be instructed to wait for + a <acronym>VNC</acronym> connection before booting the guest + by adding <option>wait</option>. The framebuffer may be + accessed from the host or over the network via the + <acronym>VNC</acronym> protocol.</para> + + <para>The resulting <application>bhyve</application> command + would look like this:</para> + + <screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 31:0,lpc \ +-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \ +-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \ +-s 29,fbuf,tcp=<replaceable>0.0.0.0:5900</replaceable>,w=<replaceable>800</replaceable>,h=<replaceable>600</replaceable>,wait \ +-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</replaceable> \ +<replaceable>guest</replaceable></userinput></screen> + + <para>Note, in BIOS emulation mode, the framebuffer will cease + receiving updates once control is passed from firmware to + guest operating system.</para> + </sect2> + <sect2 xml:id="virtualization-bhyve-zfs"> <title>Using <acronym>ZFS</acronym> with <application>bhyve</application> Guests</title>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703280009.v2S09RWS061335>