# sh /usr/share/examples/bhyve/vmrun.sh -h
Usage: vmrun.sh [-aAEhiTuvw] [-c <CPUs>] [-C <console>] [-d <disk file>]
[-e <name=value>] [-f <path of firmware>] [-F <size>]
[-G [w][address:]port] [-H <directory>]
[-I <location of installation iso>] [-l <loader>]
[-L <VNC IP for UEFI framebuffer>]
[-m <memsize>] [-n <network adapter emulation type>]
[-p <pcidev|bus/slot/func>]
[-P <port>] [-t <tapdev>] <vmname>
-h: display this help message
-a: force memory mapped local APIC access
-A: use AHCI disk emulation instead of virtio-blk
-c: number of virtual cpus (default: 2)
-C: console device (default: stdio)
-d: virtio diskdev file (default: ./diskdev)
-e: set FreeBSD loader environment variable
-E: Use UEFI mode (amd64 only)
-f: Use a specific boot firmware (e.g., EDK2, U-Boot)
-F: Use a custom UEFI GOP framebuffer size (default: w=1024,h=768) (amd64 only)
-G: bind the GDB stub to the specified address
-H: host filesystem to export to the loader
-i: force boot of the Installation CDROM image
-I: Installation CDROM image location (default: ./release.iso)
-l: the OS loader to use (default: /boot/userboot.so) (amd64 only)
-L: IP address for UEFI GOP VNC server (default: 127.0.0.1)
-m: memory size (default: 512M)
-n: network adapter emulation type (default: virtio-net)
-p: pass-through a host PCI device (e.g ppt0 or bus/slot/func) (amd64 only)
-P: UEFI GOP VNC port (default: 5900)
-t: tap device for virtio-net (default: tap0)
-T: Enable tablet device (for UEFI GOP) (amd64 only)
-u: RTC keeps UTC time
-v: Wait for VNC client connection before booting VM
-w: ignore unimplemented MSRs (amd64 only)