|
Lines 91-97
Link Here
|
| 91 |
|
91 |
|
| 92 |
<listitem> |
92 |
<listitem> |
| 93 |
<para>Know how to <link linkend="ports">install additional |
93 |
<para>Know how to <link linkend="ports">install additional |
| 94 |
third-party software</link>.</para> |
94 |
third-party software</link>.</para> |
| 95 |
</listitem> |
95 |
</listitem> |
| 96 |
</itemizedlist> |
96 |
</itemizedlist> |
| 97 |
</sect1> |
97 |
</sect1> |
|
Lines 971-979
Link Here
|
| 971 |
<acronym>BSD</acronym>-licensed hypervisor became part of the |
971 |
<acronym>BSD</acronym>-licensed hypervisor became part of the |
| 972 |
base system with &os; 10.0-RELEASE. This hypervisor supports a |
972 |
base system with &os; 10.0-RELEASE. This hypervisor supports a |
| 973 |
number of guests, including &os;, OpenBSD, and many &linux; |
973 |
number of guests, including &os;, OpenBSD, and many &linux; |
| 974 |
distributions. Currently, <application>bhyve</application> only |
974 |
distributions. By default, <application>bhyve</application> |
| 975 |
supports a serial console and does not emulate a graphical |
975 |
provides access to serial console and does not emulate a |
| 976 |
console. Virtualization offload features of newer |
976 |
graphical console. Virtualization offload features of newer |
| 977 |
<acronym>CPU</acronym>s are used to avoid the legacy methods of |
977 |
<acronym>CPU</acronym>s are used to avoid the legacy methods of |
| 978 |
translating instructions and manually managing memory |
978 |
translating instructions and manually managing memory |
| 979 |
mappings.</para> |
979 |
mappings.</para> |
|
Lines 1175-1180
Link Here
|
| 1175 |
<screen>&prompt.root; <userinput>bhyvectl --destroy --vm=<replaceable>linuxguest</replaceable></userinput></screen> |
1175 |
<screen>&prompt.root; <userinput>bhyvectl --destroy --vm=<replaceable>linuxguest</replaceable></userinput></screen> |
| 1176 |
</sect2> |
1176 |
</sect2> |
| 1177 |
|
1177 |
|
|
|
1178 |
<sect2 xml:id="virtualization-bhyve-uefi"> |
| 1179 |
<title>Booting <application>bhyve</application> Virtual Machines |
| 1180 |
with <acronym>UEFI</acronym> Firmware</title> |
| 1181 |
|
| 1182 |
<para>In addition to <application>bhyveload</application> and |
| 1183 |
<application>grub-bhyve</application>, the |
| 1184 |
<application>bhyve</application> hypervisor can also boot |
| 1185 |
virtual machines using <acronym>UEFI</acronym> userspace |
| 1186 |
firmware. This option may support guest operating systems |
| 1187 |
that are not supported by the other loaders.</para> |
| 1188 |
|
| 1189 |
<para>In order to make use of <acronym>UEFI</acronym> support |
| 1190 |
in <application>bhyve</application>, first obtain the |
| 1191 |
<acronym>UEFI</acronym> firmware images. This can be done |
| 1192 |
by installing <package>sysutils/bhyve-firmware</package> |
| 1193 |
port.</para> |
| 1194 |
|
| 1195 |
<para>With firmware in place, add |
| 1196 |
<option>-l bootrom,<replaceable>/path/to/firmware</replaceable></option> |
| 1197 |
flags to your <application>bhyve</application> command line. |
| 1198 |
The actual <application>bhyve</application> command may look |
| 1199 |
like this:</para> |
| 1200 |
|
| 1201 |
<screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ |
| 1202 |
-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \ |
| 1203 |
-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \ |
| 1204 |
-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</replaceable> \ |
| 1205 |
<replaceable>guest</replaceable></userinput></screen> |
| 1206 |
|
| 1207 |
<para><package>sysutils/bhyve-firmware</package> also contains a |
| 1208 |
<acronym>CSM</acronym>-enabled firmware, so guests with no |
| 1209 |
<acronym>UEFI</acronym> support may be booted in legacy |
| 1210 |
<acronym>BIOS</acronym> mode:</para> |
| 1211 |
|
| 1212 |
<screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ |
| 1213 |
-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \ |
| 1214 |
-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \ |
| 1215 |
-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI_CSM.fd</replaceable> \ |
| 1216 |
<replaceable>guest</replaceable></userinput></screen> |
| 1217 |
</sect2> |
| 1218 |
|
| 1219 |
<sect2 xml:id="virtualization-bhyve-framebuffer"> |
| 1220 |
<title>Graphical <acronym>UEFI</acronym> Framebuffer for |
| 1221 |
<application>bhyve</application> Guests</title> |
| 1222 |
|
| 1223 |
<para><acronym>UEFI</acronym> firmware support is particularly |
| 1224 |
useful with predominantly graphical guest operating systems |
| 1225 |
such as Microsoft &windows;.</para> |
| 1226 |
|
| 1227 |
<para>Support for the UEFI-GOP framebuffer may also be enabled |
| 1228 |
with the <option>-s 29,fbuf,tcp=<replaceable>0.0.0.0:5900</replaceable></option> |
| 1229 |
flags. The framebuffer resolution may be configured with |
| 1230 |
<option>w=<replaceable>800</replaceable></option> and |
| 1231 |
<option>h=<replaceable>600</replaceable></option>, and |
| 1232 |
<application>bhyve</application> can be instructed to wait for |
| 1233 |
a <acronym>VNC</acronym> connection before booting the VM by |
| 1234 |
adding <option>wait</option>. The framebuffer may be accessed |
| 1235 |
from the host or over the network via <acronym>VNC</acronym> |
| 1236 |
protocol.</para> |
| 1237 |
|
| 1238 |
<para>The resulting <application>bhyve</application> command may |
| 1239 |
look like this:</para> |
| 1240 |
|
| 1241 |
<screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 31:0,lpc \ |
| 1242 |
-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \ |
| 1243 |
-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \ |
| 1244 |
-s 29,fbuf,tcp=<replaceable>0.0.0.0:5900</replaceable>,w=<replaceable>800</replaceable>,h=<replaceable>600</replaceable>,wait \ |
| 1245 |
-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</replaceable> \ |
| 1246 |
<replaceable>guest</replaceable></userinput></screen> |
| 1247 |
|
| 1248 |
<para>Note, in BIOS emulation mode the framebuffer will cease |
| 1249 |
receiving updates once control is passed from firmware to |
| 1250 |
guest operating system.</para> |
| 1251 |
</sect2> |
| 1252 |
|
| 1178 |
<sect2 xml:id="virtualization-bhyve-zfs"> |
1253 |
<sect2 xml:id="virtualization-bhyve-zfs"> |
| 1179 |
<title>Using <acronym>ZFS</acronym> with |
1254 |
<title>Using <acronym>ZFS</acronym> with |
| 1180 |
<application>bhyve</application> Guests</title> |
1255 |
<application>bhyve</application> Guests</title> |