]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/bhyve/bhyve.8
bluetooth: Fix a mandoc related issues
[FreeBSD/FreeBSD.git] / usr.sbin / bhyve / bhyve.8
1 .\" Copyright (c) 2013 Peter Grehan
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD$
26 .\"
27 .Dd December 8, 2020
28 .Dt BHYVE 8
29 .Os
30 .Sh NAME
31 .Nm bhyve
32 .Nd "run a guest operating system inside a virtual machine"
33 .Sh SYNOPSIS
34 .Nm
35 .Op Fl AabCDeHhPSuWwxY
36 .Oo
37 .Sm off
38 .Fl c\~
39 .Oo
40 .Op Cm cpus=
41 .Ar numcpus
42 .Oc
43 .Op Cm ,sockets= Ar n
44 .Op Cm ,cores= Ar n
45 .Op Cm ,threads= Ar n
46 .Oc
47 .Sm on
48 .Op Fl G Ar port
49 .Op Fl g Ar gdbport
50 .Oo Fl l
51 .Sm off
52 .Cm help | Ar lpcdev Op Cm \&, Ar conf
53 .Sm on
54 .Oc
55 .Oo Fl m
56 .Sm off
57 .Ar memsize
58 .Oo
59 .Cm K No | Cm k No | Cm M No | Cm m No | Cm G No | Cm g No | Cm T No | Cm t
60 .Oc
61 .Sm on
62 .Oc
63 .Op Fl p Ar vcpu Ns Cm \&: Ns Ar hostcpu
64 .Op Fl r Ar file
65 .Oo Fl s
66 .Sm off
67 .Cm help | Ar slot Cm \&, Ar emulation Op Cm \&, Ar conf
68 .Sm on
69 .Oc
70 .Op Fl U Ar uuid
71 .Ar vmname
72 .Sh DESCRIPTION
73 .Nm
74 is a hypervisor that runs guest operating systems inside a
75 virtual machine.
76 .Pp
77 Parameters such as the number of virtual CPUs, amount of guest memory, and
78 I/O connectivity can be specified with command-line parameters.
79 .Pp
80 If not using a boot ROM, the guest operating system must be loaded with
81 .Xr bhyveload 8
82 or a similar boot loader before running
83 .Nm ,
84 otherwise, it is enough to run
85 .Nm
86 with a boot ROM of choice.
87 .Pp
88 .Nm
89 runs until the guest operating system reboots or an unhandled hypervisor
90 exit is detected.
91 .Sh OPTIONS
92 .Bl -tag -width 10n
93 .It Fl a
94 The guest's local APIC is configured in xAPIC mode.
95 The xAPIC mode is the default setting so this option is redundant.
96 It will be deprecated in a future version.
97 .It Fl A
98 Generate ACPI tables.
99 Required for
100 .Fx Ns /amd64
101 guests.
102 .It Fl b
103 Enable a low-level console device supported by
104 .Fx
105 kernels compiled with
106 .Cd "device bvmconsole" .
107 This option is deprecated and will be removed in
108 .Fx 13.0 .
109 .It Fl c Op Ar setting ...
110 Number of guest virtual CPUs
111 and/or the CPU topology.
112 The default value for each of
113 .Ar numcpus ,
114 .Ar sockets ,
115 .Ar cores ,
116 and
117 .Ar threads
118 is 1.
119 The current maximum number of guest virtual CPUs is 16.
120 If
121 .Ar numcpus
122 is not specified then it will be calculated from the other arguments.
123 The topology must be consistent in that the
124 .Ar numcpus
125 must equal the product of
126 .Ar sockets ,
127 .Ar cores ,
128 and
129 .Ar threads .
130 If a
131 .Ar setting
132 is specified more than once the last one has precedence.
133 .It Fl C
134 Include guest memory in core file.
135 .It Fl D
136 Destroy the VM on guest initiated power-off.
137 .It Fl e
138 Force
139 .Nm
140 to exit when a guest issues an access to an I/O port that is not emulated.
141 This is intended for debug purposes.
142 .It Fl g Ar gdbport
143 For
144 .Fx
145 kernels compiled with
146 .Cd "device bvmdebug" ,
147 allow a remote kernel kgdb to be relayed to the guest kernel gdb stub
148 via a local IPv4 address and this port.
149 This option is deprecated and will be removed in
150 .Fx 13.0 .
151 .It Fl G Ar port
152 Start a debug server that uses the GDB protocol to export guest state to a
153 debugger.
154 An IPv4 TCP socket will be bound to the supplied
155 .Ar port
156 to listen for debugger connections.
157 Only a single debugger may be attached to the debug server at a time.
158 If
159 .Ar port
160 begins with
161 .Sq w ,
162 .Nm
163 will pause execution at the first instruction waiting for a debugger to attach.
164 .It Fl h
165 Print help message and exit.
166 .It Fl H
167 Yield the virtual CPU thread when a HLT instruction is detected.
168 If this option is not specified, virtual CPUs will use 100% of a host CPU.
169 .It Fl l Op Ar help|lpcdev Ns Op , Ns Ar conf
170 Allow devices behind the LPC PCI-ISA bridge to be configured.
171 The only supported devices are the TTY-class devices
172 .Ar com1
173 and
174 .Ar com2 ,
175 the boot ROM device
176 .Ar bootrom ,
177 and the debug/test device
178 .Ar pc-testdev .
179 .Pp
180 .Ar help
181 print a list of supported LPC devices.
182 .It Fl m Ar memsize Ns Op Ar K|k|M|m|G|g|T|t
183 Guest physical memory size in bytes.
184 This must be the same size that was given to
185 .Xr bhyveload 8 .
186 .Pp
187 The size argument may be suffixed with one of K, M, G or T (either upper
188 or lower case) to indicate a multiple of kilobytes, megabytes, gigabytes,
189 or terabytes.
190 If no suffix is given, the value is assumed to be in megabytes.
191 .Pp
192 .Ar memsize
193 defaults to 256M.
194 .It Fl p Ar vcpu:hostcpu
195 Pin guest's virtual CPU
196 .Em vcpu
197 to
198 .Em hostcpu .
199 .It Fl P
200 Force the guest virtual CPU to exit when a PAUSE instruction is detected.
201 .It Fl r Ar file
202 Resume a guest from a snapshot.
203 The guest memory contents are restored from
204 .Ar file ,
205 and the guest device and vCPU state are restored from the file
206 .Dq Ar file Ns .kern .
207 .Pp
208 Note that the current snapshot file format requires that the configuration of
209 devices in the new VM match the VM from which the snapshot was taken by specifying the
210 same
211 .Op Fl s
212 and
213 .Op Fl l
214 options.
215 The count of vCPUs and memory configuration are read from the snapshot.
216 .It Fl s Op Ar help|slot,emulation Ns Op , Ns Ar conf
217 Configure a virtual PCI slot and function.
218 .Pp
219 .Nm
220 provides PCI bus emulation and virtual devices that can be attached to
221 slots on the bus.
222 There are 32 available slots, with the option of providing up to 8 functions
223 per slot.
224 .Bl -tag -width 10n
225 .It Ar help
226 print a list of supported PCI devices.
227 .It Ar slot
228 .Ar pcislot[:function]
229 .Ar bus:pcislot:function
230 .Pp
231 The
232 .Ar pcislot
233 value is 0 to 31.
234 The optional
235 .Ar function
236 value is 0 to 7.
237 The optional
238 .Ar bus
239 value is 0 to 255.
240 If not specified, the
241 .Ar function
242 value defaults to 0.
243 If not specified, the
244 .Ar bus
245 value defaults to 0.
246 .It Ar emulation
247 .Bl -tag -width 10n
248 .It Li hostbridge | Li amd_hostbridge
249 .Pp
250 Provide a simple host bridge.
251 This is usually configured at slot 0, and is required by most guest
252 operating systems.
253 The
254 .Li amd_hostbridge
255 emulation is identical but uses a PCI vendor ID of
256 .Li AMD .
257 .It Li passthru
258 PCI pass-through device.
259 .It Li virtio-net
260 Virtio network interface.
261 .It Li virtio-blk
262 Virtio block storage interface.
263 .It Li virtio-scsi
264 Virtio SCSI interface.
265 .It Li virtio-9p
266 Virtio 9p (VirtFS) interface.
267 .It Li virtio-rnd
268 Virtio RNG interface.
269 .It Li virtio-console
270 Virtio console interface, which exposes multiple ports
271 to the guest in the form of simple char devices for simple IO
272 between the guest and host userspaces.
273 .It Li ahci
274 AHCI controller attached to arbitrary devices.
275 .It Li ahci-cd
276 AHCI controller attached to an ATAPI CD/DVD.
277 .It Li ahci-hd
278 AHCI controller attached to a SATA hard-drive.
279 .It Li e1000
280 Intel e82545 network interface.
281 .It Li uart
282 PCI 16550 serial device.
283 .It Li lpc
284 LPC PCI-ISA bridge with COM1 and COM2 16550 serial ports, a boot ROM, and,
285 optionally, the debug/test device.
286 The LPC bridge emulation can only be configured on bus 0.
287 .It Li fbuf
288 Raw framebuffer device attached to VNC server.
289 .It Li xhci
290 eXtensible Host Controller Interface (xHCI) USB controller.
291 .It Li nvme
292 NVM Express (NVMe) controller.
293 .It Li hda
294 High Definition Audio Controller.
295 .El
296 .It Op Ar conf
297 This optional parameter describes the backend for device emulations.
298 If
299 .Ar conf
300 is not specified, the device emulation has no backend and can be
301 considered unconnected.
302 .Pp
303 Network backends:
304 .Bl -tag -width 10n
305 .It Ar tapN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
306 .It Ar vmnetN Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
307 .It Ar netgraph,path=ADDRESS,peerhook=HOOK Ns Oo , Ns Ar socket=NAME Oc Ns Oo , Ns Ar hook=HOOK Oc Ns Oo , Ns Ar mac=xx:xx:xx:xx:xx:xx Oc Ns Oo , Ns Ar mtu=N Oc
308 .Pp
309 If
310 .Ar mac
311 is not specified, the MAC address is derived from a fixed OUI and the
312 remaining bytes from an MD5 hash of the slot and function numbers and
313 the device name.
314 .Pp
315 The MAC address is an ASCII string in
316 .Xr ethers 5
317 format.
318 .Pp
319 With virtio-net devices, the
320 .Ar mtu
321 parameter can be specified to inform the guest about the largest MTU
322 that should be allowed, expressed in bytes.
323 .Pp
324 With netgraph backend, the
325 .Ar path
326 and
327 .Ar peerhook
328 parameters must be specified to set the destination node and corresponding hook.
329 The optional parameters
330 .Ar socket
331 and
332 .Ar hook
333 may be used to set the
334 .Xr ng_socket 4
335 node name and source hook.
336 The
337 .Ar ADDRESS ,
338 .Ar HOOK
339 and
340 .Ar NAME
341 must comply with
342 .Xr netgraph 4
343 addressing rules.
344 .El
345 .Pp
346 Block storage devices:
347 .Bl -tag -width 10n
348 .It Pa /filename Ns Oo , Ns Ar block-device-options Oc
349 .It Pa /dev/xxx Ns Oo , Ns Ar block-device-options Oc
350 .El
351 .Pp
352 The
353 .Ar block-device-options
354 are:
355 .Bl -tag -width 8n
356 .It Li nocache
357 Open the file with
358 .Dv O_DIRECT .
359 .It Li direct
360 Open the file using
361 .Dv O_SYNC .
362 .It Li ro
363 Force the file to be opened read-only.
364 .It Li sectorsize= Ns Ar logical Ns Oo / Ns Ar physical Oc
365 Specify the logical and physical sector sizes of the emulated disk.
366 The physical sector size is optional and is equal to the logical sector size
367 if not explicitly specified.
368 .El
369 .Pp
370 SCSI devices:
371 .Bl -tag -width 10n
372 .It Pa /dev/cam/ctl Ns Oo Ar pp . Ns Ar vp Oc Ns Oo , Ns Ar scsi-device-options Oc
373 .El
374 .Pp
375 The
376 .Ar scsi-device-options
377 are:
378 .Bl -tag -width 10n
379 .It Li iid= Ns Ar IID
380 Initiator ID to use when sending requests to specified CTL port.
381 The default value is 0.
382 .El
383 .Pp
384 9P devices:
385 .Bl -tag -width 10n
386 .It Pa sharename=/path/to/share[,9p-device-options]
387 .El
388 .Pp
389 The
390 .Ar 9p-device-options
391 are:
392 .Bl -tag -width 10n
393 .It Li ro
394 Expose the share in read-only mode.
395 .El
396 .Pp
397 TTY devices:
398 .Bl -tag -width 10n
399 .It Li stdio
400 Connect the serial port to the standard input and output of
401 the
402 .Nm
403 process.
404 .It Pa /dev/xxx
405 Use the host TTY device for serial port I/O.
406 .El
407 .Pp
408 Boot ROM device:
409 .Bl -tag -width 10n
410 .It Pa romfile
411 Map
412 .Ar romfile
413 in the guest address space reserved for boot firmware.
414 .El
415 .Pp
416 Pass-through devices:
417 .Bl -tag -width 10n
418 .It Ns Ar slot Ns / Ns Ar bus Ns / Ns Ar function
419 Connect to a PCI device on the host at the selector described by
420 .Ar slot ,
421 .Ar bus ,
422 and
423 .Ar function
424 numbers.
425 .El
426 .Pp
427 Guest memory must be wired using the
428 .Fl S
429 option when a pass-through device is configured.
430 .Pp
431 The host device must have been reserved at boot-time using the
432 .Va pptdevs
433 loader variable as described in
434 .Xr vmm 4 .
435 .Pp
436 Virtio console devices:
437 .Bl -tag -width 10n
438 .It Li port1= Ns Pa /path/to/port1.sock Ns ,anotherport= Ns Pa ...
439 A maximum of 16 ports per device can be created.
440 Every port is named and corresponds to a Unix domain socket created by
441 .Nm .
442 .Nm
443 accepts at most one connection per port at a time.
444 .Pp
445 Limitations:
446 .Bl -bullet -offset 2n
447 .It
448 Due to lack of destructors in
449 .Nm ,
450 sockets on the filesystem must be cleaned up manually after
451 .Nm
452 exits.
453 .It
454 There is no way to use the "console port" feature, nor the console port
455 resize at present.
456 .It
457 Emergency write is advertised, but no-op at present.
458 .El
459 .El
460 .Pp
461 Framebuffer devices:
462 .Bl -tag -width 10n
463 .It Xo
464 .Oo rfb= Ns Oo Ar IP\&: Oc Ns Ar port Oc Ns Oo ,w= Ns Ar width Oc Ns Oo ,h= Ns
465 .Ar height Oc Ns Oo ,vga= Ns Ar vgaconf Oc Ns Oo Ns ,wait Oc Ns Oo ,password= Ns
466 .Ar password Oc
467 .Xc
468 .Bl -tag -width 8n
469 .It Ar IPv4:port No or Ar [IPv6%zone]:port
470 An
471 .Ar IP
472 address and a
473 .Ar port
474 VNC should listen on.
475 The default is to listen on localhost IPv4 address and default VNC port 5900.
476 An IPv6 address must be enclosed in square brackets and may contain an
477 optional zone identifier.
478 .It Ar width No and Ar height
479 A display resolution, width and height, respectively.
480 If not specified, a default resolution of 1024x768 pixels will be used.
481 Minimal supported resolution is 640x480 pixels,
482 and maximum is 1920x1200 pixels.
483 .It Ar vgaconf
484 Possible values for this option are
485 .Dq io
486 (default),
487 .Dq on
488 , and
489 .Dq off .
490 PCI graphics cards have a dual personality in that they are
491 standard PCI devices with BAR addressing, but may also
492 implicitly decode legacy VGA I/O space
493 .Pq Ad 0x3c0-3df
494 and memory space
495 .Pq 64KB at Ad 0xA0000 .
496 The default
497 .Dq io
498 option should be used for guests that attempt to issue BIOS calls which result
499 in I/O port queries, and fail to boot if I/O decode is disabled.
500 .Pp
501 The
502 .Dq on
503 option should be used along with the CSM BIOS capability in UEFI
504 to boot traditional BIOS guests that require the legacy VGA I/O and
505 memory regions to be available.
506 .Pp
507 The
508 .Dq off
509 option should be used for the UEFI guests that assume that
510 VGA adapter is present if they detect the I/O ports.
511 An example of such a guest is
512 .Ox
513 in UEFI mode.
514 .Pp
515 Please refer to the
516 .Nm
517 .Fx
518 wiki page
519 .Pq Lk https://wiki.freebsd.org/bhyve
520 for configuration notes of particular guests.
521 .It wait
522 Instruct
523 .Nm
524 to only boot upon the initiation of a VNC connection, simplifying the
525 installation of operating systems that require immediate keyboard input.
526 This can be removed for post-installation use.
527 .It password
528 This type of authentication is known to be cryptographically weak and is not
529 intended for use on untrusted networks.
530 Many implementations will want to use stronger security, such as running
531 the session over an encrypted channel provided by IPsec or SSH.
532 .El
533 .El
534 .Pp
535 xHCI USB devices:
536 .Bl -tag -width 10n
537 .It Li tablet
538 A USB tablet device which provides precise cursor synchronization
539 when using VNC.
540 .El
541 .Pp
542 NVMe devices:
543 .Bl -tag -width 10n
544 .It Li devpath
545 Accepted device paths are:
546 .Ar /dev/blockdev
547 or
548 .Ar /path/to/image
549 or
550 .Ar ram=size_in_MiB .
551 .It Li maxq
552 Max number of queues.
553 .It Li qsz
554 Max elements in each queue.
555 .It Li ioslots
556 Max number of concurrent I/O requests.
557 .It Li sectsz
558 Sector size (defaults to blockif sector size).
559 .It Li ser
560 Serial number with maximum 20 characters.
561 .El
562 .Pp
563 AHCI devices:
564 .Bl -tag -width 10n
565 .It Li nmrr
566 Nominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report.
567 .It Li ser
568 Serial Number with maximum 20 characters.
569 .It Li rev
570 Revision Number with maximum 8 characters.
571 .It Li model
572 Model Number with maximum 40 characters.
573 .El
574 .Pp
575 HD Audio devices:
576 .Bl -tag -width 10n
577 .It Li play
578 Playback device, typically
579 .Ar /dev/dsp0 .
580 .It Li rec
581 Recording device, typically
582 .Ar /dev/dsp0 .
583 .El
584 .El
585 .It Fl S
586 Wire guest memory.
587 .It Fl u
588 RTC keeps UTC time.
589 .It Fl U Ar uuid
590 Set the universally unique identifier
591 .Pq UUID
592 in the guest's System Management BIOS System Information structure.
593 By default a UUID is generated from the host's hostname and
594 .Ar vmname .
595 .It Fl w
596 Ignore accesses to unimplemented Model Specific Registers (MSRs).
597 This is intended for debug purposes.
598 .It Fl W
599 Force virtio PCI device emulations to use MSI interrupts instead of MSI-X
600 interrupts.
601 .It Fl x
602 The guest's local APIC is configured in x2APIC mode.
603 .It Fl Y
604 Disable MPtable generation.
605 .It Ar vmname
606 Alphanumeric name of the guest.
607 This should be the same as that created by
608 .Xr bhyveload 8 .
609 .El
610 .Sh DEBUG SERVER
611 The current debug server provides limited support for debuggers.
612 .Ss Registers
613 Each virtual CPU is exposed to the debugger as a thread.
614 .Pp
615 General purpose registers can be queried for each virtual CPU, but other
616 registers such as floating-point and system registers cannot be queried.
617 .Ss Memory
618 Memory (including memory mapped I/O regions) can be read and written by the debugger.
619 Memory operations use virtual addresses that are resolved to physical addresses
620 via the current virtual CPU's active address translation.
621 .Ss Control
622 The running guest can be interrupted by the debugger at any time
623 .Pq for example, by pressing Ctrl-C in the debugger .
624 .Pp
625 Single stepping is only supported on Intel CPUs supporting the MTRAP VM exit.
626 .Pp
627 Breakpoints are supported on Intel CPUs that support single stepping.
628 Note that continuing from a breakpoint while interrupts are enabled in the
629 guest may not work as expected due to timer interrupts firing while single
630 stepping over the breakpoint.
631 .Sh SIGNAL HANDLING
632 .Nm
633 deals with the following signals:
634 .Pp
635 .Bl -tag -width indent -compact
636 .It SIGTERM
637 Trigger ACPI poweroff for a VM
638 .El
639 .Sh EXIT STATUS
640 Exit status indicates how the VM was terminated:
641 .Pp
642 .Bl -tag -width indent -compact
643 .It 0
644 rebooted
645 .It 1
646 powered off
647 .It 2
648 halted
649 .It 3
650 triple fault
651 .It 4
652 exited due to an error
653 .El
654 .Sh EXAMPLES
655 If not using a boot ROM, the guest operating system must have been loaded with
656 .Xr bhyveload 8
657 or a similar boot loader before
658 .Xr bhyve 4
659 can be run.
660 Otherwise, the boot loader is not needed.
661 .Pp
662 To run a virtual machine with 1GB of memory, two virtual CPUs, a virtio
663 block device backed by the
664 .Pa /my/image
665 filesystem image, and a serial port for the console:
666 .Bd -literal -offset indent
667 bhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
668   -l com1,stdio -A -H -P -m 1G vm1
669 .Ed
670 .Pp
671 Run a 24GB single-CPU virtual machine with three network ports, one of which
672 has a MAC address specified:
673 .Bd -literal -offset indent
674 bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \\
675   -s 2:1,virtio-net,tap1 \\
676   -s 2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \\
677   -s 3,virtio-blk,/my/image -l com1,stdio \\
678   -A -H -P -m 24G bigvm
679 .Ed
680 .Pp
681 Run an 8GB quad-CPU virtual machine with 8 AHCI SATA disks, an AHCI ATAPI
682 CD-ROM, a single virtio network port, an AMD hostbridge, and the console
683 port connected to an
684 .Xr nmdm 4
685 null-modem device.
686 .Bd -literal -offset indent
687 bhyve -c 4 \\
688   -s 0,amd_hostbridge -s 1,lpc \\
689   -s 1:0,ahci,hd:/images/disk.1,hd:/images/disk.2,\\
690 hd:/images/disk.3,hd:/images/disk.4,\\
691 hd:/images/disk.5,hd:/images/disk.6,\\
692 hd:/images/disk.7,hd:/images/disk.8,\\
693 cd:/images/install.iso \\
694   -s 3,virtio-net,tap0 \\
695   -l com1,/dev/nmdm0A \\
696   -A -H -P -m 8G
697 .Ed
698 .Pp
699 Run a UEFI virtual machine with a display resolution of 800 by 600 pixels
700 that can be accessed via VNC at: 0.0.0.0:5900.
701 .Bd -literal -offset indent
702 bhyve -c 2 -m 4G -w -H \\
703   -s 0,hostbridge \\
704   -s 3,ahci-cd,/path/to/uefi-OS-install.iso \\
705   -s 4,ahci-hd,disk.img \\
706   -s 5,virtio-net,tap0 \\
707   -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \\
708   -s 30,xhci,tablet \\
709   -s 31,lpc -l com1,stdio \\
710   -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
711    uefivm
712 .Ed
713 .Pp
714 Run a UEFI virtual machine with a VNC display that is bound to all IPv6
715 addresses on port 5900.
716 .Bd -literal -offset indent
717 bhyve -c 2 -m 4G -w -H \\
718   -s 0,hostbridge \\
719   -s 4,ahci-hd,disk.img \\
720   -s 5,virtio-net,tap0 \\
721   -s 29,fbuf,tcp=[::]:5900,w=800,h=600 \\
722   -s 30,xhci,tablet \\
723   -s 31,lpc -l com1,stdio \\
724   -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \\
725    uefivm
726 .Ed
727 .Sh SEE ALSO
728 .Xr bhyve 4 ,
729 .Xr netgraph 4 ,
730 .Xr ng_socket 4 ,
731 .Xr nmdm 4 ,
732 .Xr vmm 4 ,
733 .Xr ethers 5 ,
734 .Xr bhyvectl 8 ,
735 .Xr bhyveload 8
736 .Pp
737 .Rs
738 .%A Intel
739 .%B 64 and IA-32 Architectures Software Developer’s Manual
740 .%V Volume 3
741 .Re
742 .Sh HISTORY
743 .Nm
744 first appeared in
745 .Fx 10.0 .
746 .Sh AUTHORS
747 .An Neel Natu Aq Mt neel@freebsd.org
748 .An Peter Grehan Aq Mt grehan@freebsd.org