Makes some sense as we display "uefi" under "Loader" when listing guests and only one can be set.
Old uefi="" setting can still be set to "csm" to choose the csm firmware.
To reduce code we originally parsed some options globally, such as "vm -f start ...".
However this was confusing and inconsistent, especially in relation to other commands
such as zfs(8).
Use the -f option to force commands such as reset/destroy/poweroff.
Unfortunately this same option is used for foreground mode when running a vm,
but -f ties up with the force option for many other commands.
The pattern "[ $? -ne 0 ] && util::err ..." is problematic since it
leaves an exit status of 1 if the test fails, which is the non-error
case. So various commands (e.g., vm datastore add) return status 1 even
when they succeed if this pattern appears as the last line of a command
implementation.
Fix this by mechanically converting this pattern to
"[ $? -eq 0 ] || util:err ...".
Tmux won't allow a dot in a session name as dot has a specific purpose.
Replace it with a ~, which we don't normally allow, so no risk of accidently
using a name that actually exists.
*Show tmux in console-ports info output
*Look for an available port for recv operation
The recieve command will output the port it is waiting on.
Send should be run as "vm send guestname remotehost:port"
If you have a directory (or network mount) containing iso files, you
can configure vm-bhyve to look there by adding it as
a media datastore. (vm datastore iso my-media /path/to/iso/dir).
Also we now look in the current dir for iso files, and accept full paths.
This is now consistent with mac addresses which are also generated
at runtime. If a guest is copied manually, these settings can be removed
and new values will be generated automatically on next run.
So far we only have a "console" setting, but there may be more
in the future. This change provides 'vm get' & 'vm set' commands,
that can view or change these config settings.
This is supported when using tmux for the guest console.
The guest is started on a tmux session, but the session is not
detached so you are immediately placed inside the guest. Similar to
foreground mode, but you can leave the guest running and return to host
using the tmux detach keys (Ctrl+b d)
Not documented yet and requires ahci_multi_device="yes" in
guest config, but this is only supported on 12-CURRENT anyway.
This currently allows up to 8 devices per controller, but could
allow up to 32. With 3 available slots in UEFI, and 8 per controller,
this means Win guests can now have up to 24 disks, or 96 if we increase
limit to 32 per controller.