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

FreeBSD Manual Pages

  
 
  

home | help
BHYVELOAD(8)		    System Manager's Manual		  BHYVELOAD(8)

NAME
       bhyveload -- load a FreeBSD guest inside	a bhyve	virtual	machine

SYNOPSIS
       bhyveload  [-C]	[-S]  [-c  cons-dev]  [-d  disk-path]  [-e name=value]
		 [-h host-path]	[-l os-loader]	[-m  memsize[K|k|M|m|G|g|T|t]]
		 vmname

DESCRIPTION
       bhyveload is used to load a FreeBSD guest inside	a bhyve(4) virtual ma-
       chine.

       bhyveload is based on loader(8) and will	present	an interface identical
       to  the	FreeBSD	 loader	 on the	user's terminal.  This behavior	can be
       changed by specifying a different OS loader.

       The virtual machine is identified as vmname and will be created	if  it
       does not	already	exist.

OPTIONS
       The following options are available:

       -c cons-dev
	       cons-dev	is a tty(4) device to use for bhyveload	terminal I/O.

	       The text	string "stdio" is also accepted	and selects the	use of
	       unbuffered standard I/O.	This is	the default value.

       -d disk-path
	       The disk-path is	the pathname of	the guest's boot disk image.

       -e name=value
	       Set the FreeBSD loader environment variable name	to value.

	       The  option may be used more than once to set more than one en-
	       vironment variable.

       -h host-path
	       The host-path is	the directory at the top of the	 guest's  boot
	       filesystem.

       -l os-loader
	       Specify	a  different OS	loader.	 By default bhyveload will use
	       /boot/userboot.so, which	presents a standard FreeBSD loader.

       -m memsize[K|k|M|m|G|g|T|t]
	       memsize is the amount of	memory allocated to the	guest.

	       The memsize 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	respectively.

	       memsize defaults	to 256M.

       -C      Include guest memory in the  core  file	when  bhyveload	 dumps
	       core.  This is intended for debugging an	OS loader as it	allows
	       inspection of the guest memory.

       -S      Wire guest memory.

EXAMPLES
       To create a virtual machine named freebsd-vm that boots off the ISO im-
       age /freebsd/release.iso	and has	1GB memory allocated to	it:

	     bhyveload -m 1G -d	/freebsd/release.iso freebsd-vm

       To  create  a  virtual machine named test-vm with 256MB of memory allo-
       cated,  the  guest   root   filesystem	under	the   host   directory
       /user/images/test   and	 terminal  I/O	sent  to  the  nmdm(4)	device
       /dev/nmdm1B

	     bhyveload -m 256MB	-h /usr/images/test -c /dev/nmdm1B test-vm

SEE ALSO
       bhyve(4), nmdm(4), vmm(4), bhyve(8), loader(8)

HISTORY
       bhyveload first appeared	in FreeBSD 10.0, and was developed  at	NetApp
       Inc.

AUTHORS
       bhyveload  was  developed by Neel Natu <neel@FreeBSD.org> at NetApp Inc
       with a lot of help from Doug Rabson <dfr@FreeBSD.org>.

BUGS
       bhyveload can only load FreeBSD as a guest.

SECURITY CONSIDERATIONS
       Note that in some configurations, bhyveload will	execute	 guest	loader
       scripts	in  the	 context  of  the  host	 machine.  Note, however, that
       bhyveload  will	enter  a  capsicum(4)  sandbox	before	it  loads  the
       os-loader  or executes any loader scripts.  On the host filesystem, the
       sandbox will only have access to	the path specified by the -h flag, the
       contents	of the /boot directory if -l was not specified,	and the	chosen
       console device.

       Note that the guest loader scripts are already subject to some  limita-
       tions  that  are	not relaxed simply because we are running in userland.
       For instance, any I/O on	the loader's "host" device that	can be done in
       loader scripts is limited to the	 interface  that  bhyveload  provides,
       which  itself will restrict paths that can be touched to	those within a
       specified -h directory, if any.	Access to files	 within	 /boot	inside
       the  sandbox  would  require  arbitrary code execution in userboot, and
       userboot	is usually provided by the host	machine	rather	than  anything
       that  is	 a part	of the guest image.  All access	to the -h directory as
       well as /boot is	strictly read-only in the sandbox.

FreeBSD	14.3		       January 12, 2024			  BHYVELOAD(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bhyveload&sektion=8&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help