Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
BHYVE(8)		FreeBSD	System Manager's Manual		      BHYVE(8)

NAME
     bhyve -- run a guest operating system inside a virtual machine

SYNOPSIS
     bhyve [-aehAHPW] [-c numcpus] [-g gdbport]	[-p pinnedcpu]
	   [-s slot,emulation[,conf]] [-S slot,emulation[,conf]]
	   [-l lpcdev[,conf]] vmname

DESCRIPTION
     bhyve is an experimental hypervisor that runs guest operating systems
     inside a virtual machine.

     Parameters	such as	the number of virtual CPUs, amount of guest memory,
     and I/O connectivity can be specified with	command-line parameters.

     The guest operating system	must be	loaded with bhyveload(4) or a similar
     boot loader before	running	bhyve.

     bhyve runs	until the guest	operating system reboots or an unhandled
     hypervisor	exit is	detected.

OPTIONS
     -a		 Disallow use of the local APIC	in X2APIC mode.

     -A		 Generate ACPI tables.	Required for FreeBSD/amd64 guests.

     -c	numcpus	 Number	of guest virtual CPUs.	The default is 1 and the maxi-
		 mum is	16.

     -H		 Yield the virtual CPU thread when a HLT instruction is
		 detected.  If this option is not specified, virtual CPUs will
		 use 100% of a host CPU.

     -g	gdbport	 For FreeBSD/amd64 kernels compiled with option	bvmdebug,
		 allow a remote	kernel kgdb to be relayed to the guest kernel
		 gdb stub via a	local IPv4 address and this port.  This	option
		 will be deprecated in a future	version.

     -p	pinnedcpu
		 Force guest virtual CPUs to be	pinned to host CPUs.  Virtual
		 CPU n is pinned to host CPU pinnedcpu+n.

     -P		 Force the guest virtual CPU to	exit when a PAUSE instruction
		 is detected.

     -W		 Force virtio PCI device emulations to use MSI interrupts
		 instead of MSI-X interrupts.

     -s	slot,emulation[,conf]
		 Configure a virtual PCI slot and function.

		 bhyve provides	PCI bus	emulation and virtual devices that can
		 be attached to	slots on the bus.  There are 32	available
		 slots,	with the option	of providing up	to 8 functions per
		 slot.

		 slot	     pcislot[:function]

			     The pcislot value is 0 to 31 and the optional
			     function value is 0 to 7.	If not specified, the
			     function value defaults to	0.

		 emulation

			     hostbridge	| amd_hostbridge

					 Provide a simple host bridge.	This
					 is usually configured at slot 0, and
					 is required by	most guest operating
					 systems.  The amd_hostbridge emula-
					 tion is identical but uses a PCI ven-
					 dor ID	of AMD.

			     passthru	 PCI pass-through device.

			     virtio-net	 Virtio	network	interface.

			     virtio-block
					 Virtio	block storage interface.

			     ahci-cd	 AHCI controller attached to an	ATAPI
					 CD/DVD.

			     ahci-hd	 AHCI controller attached to a SATA
					 hard-drive.

			     uart	 PCI 16550 serial device.

			     lpc	 LPC PCI-ISA bridge with COM1 and COM2
					 16550 serial ports.

		 [conf]	     This optional parameter describes the backend for
			     device emulations.	 If conf is not	specified, the
			     device emulation has no backend and can be	con-
			     sidered unconnected.

			     Network devices:

			     tapN[,mac=xx:xx:xx:xx:xx:xx]

			     vmnetN[,mac=xx:xx:xx:xx:xx:xx]

					 If mac	is not specified, the MAC
					 address is derived from a fixed OUI
					 and the remaining bytes from an MD5
					 hash of the slot and function numbers
					 and the device	name.

					 The MAC address is an ASCII string in
					 ethers(5) format.

			     Block storage devices:

			     /filename[,nocache][,direct][,ro]

			     /dev/xxx[,nocache][,direct][,ro]

					 nocache   Open	the file with
						   O_DIRECT.

					 direct	   Open	the file using O_SYNC.

					 ro	   Force the file to be	opened
						   read-only.

					 The nocache, direct, and ro options
					 are not available for virtio block
					 devices.

			     TTY devices:

			     stdio	 Connect the serial port to the	stan-
					 dard input and	output of the bhyve
					 process.

			     /dev/xxx	 Use the host TTY device for serial
					 port I/O.

			     Pass-through devices:

			     slot/bus/function
					 Connect to a PCI device on the	host
					 at the	selector described by slot,
					 bus, and function numbers.

			     The host device must have been reserved at	boot-
			     time using	the pptdev loader variable as
			     described in vmm(4).

     -S	slot,emulation[,conf]
		 Identical to the -s option except the device is instructed to
		 use legacy ISA	addresses if possible.	Currently this only
		 has an	effect with the	uart device emulation.	This option
		 will be deprecated in a future	version.

     -l	lpcdev[,conf]
		 Allow devices behind the LPC PCI-ISA bridge to	be configured.
		 The only supported devices are	the TTY-class devices, com1
		 and com2.

     -m	size[K|k|M|m|G|g|T|t]
		 Guest physical	memory size in bytes.  This must be the	same
		 size that was given to	bhyveload(8).

		 The size argument may be suffixed with	one of K, M, G or T
		 (either upper or lower	case) to indicate a multiple of	kilo-
		 bytes,	megabytes, gigabytes, or terabytes.  If	no suffix is
		 given,	the value is assumed to	be in megabytes.

     -e		 Force bhyve to	exit when a guest issues an access to an I/O
		 port that is not emulated.  This is intended for debug	pur-
		 poses.

     -h		 Print help message and	exit.

     vmname	 Alphanumeric name of the guest.  This should be the same as
		 that created by bhyveload(8).

EXAMPLES
     The guest operating system	must have been loaded with bhyveload(4)	or a
     similar boot loader before	bhyve(4) can be	run.

     To	run a virtual machine with 1GB of memory, two virtual CPUs, a virtio
     block device backed by the	/my/image filesystem image, and	a serial port
     for the console:

	   bhyve -c 2 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \
	     -l	com1,stdio -A -H -P -m 1G vm1

     Run a 24GB	single-CPU virtual machine with	three network ports, one of
     which has a MAC address specified:

	   bhyve -s 0,hostbridge -s 1,lpc -s 2:0,virtio-net,tap0 \
	     -s	2:1,virtio-net,tap1 \
	     -s	2:2,virtio-net,tap2,mac=00:be:fa:76:45:00 \
	     -s	3,virtio-blk,/my/image -l com1,stdio \
	     -A	-H -P -m 24G bigvm

     Run an 8GB	quad-CPU virtual machine with 8	AHCI SATA disks, an AHCI ATAPI
     CD-ROM, a single virtio network port, an AMD hostbridge, and the console
     port connected to an nmdm(4) null-model device.

	   bhyve -c 4 \	 -s 0,amd_hostbridge -s	1,lpc \
	     -s	1:0,ahci-hd,/images/disk.1 \
	     -s	1:1,ahci-hd,/images/disk.2 \
	     -s	1:2,ahci-hd,/images/disk.3 \
	     -s	1:3,ahci-hd,/images/disk.4 \
	     -s	1:4,ahci-hd,/images/disk.5 \
	     -s	1:5,ahci-hd,/images/disk.6 \
	     -s	1:6,ahci-hd,/images/disk.7 \
	     -s	1:7,ahci-hd,/images/disk.8 \
	     -s	2,ahci-cd,/images.install.iso \
	     -s	3,virtio-net,tap0 \
	     -l	com1,/dev/nmdm0A \
	     -A	-H -P -m 8G

SEE ALSO
     bhyve(4), nmdm(4),	vmm(4),	ethers(5), bhyvectl(8),	bhyveload(8)

HISTORY
     bhyve first appeared in FreeBSD 10.0.

AUTHORS
     Neel Natu <neel@freebsd.org>
     Peter Grehan <grehan@freebsd.org>

FreeBSD	9.3		       December	12, 2013		   FreeBSD 9.3

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=bhyve&sektion=8&manpath=FreeBSD+10.0-RELEASE>

home | help