bhyve: bhyveload, bhyve, bhyvectl --destroy

Craig Rodrigues rodrigc at FreeBSD.org
Wed Jun 3 17:38:43 UTC 2015


On Wed, Jun 3, 2015 at 9:18 AM, Andriy Gapon <avg at freebsd.org> wrote:

> On 03/06/2015 18:53, John-Mark Gurney wrote:
>
> JIMO, bhyveload(8) could be just merged into bhyve(8) and the latter should
> behave like vmrun.sh does.  bhyve(8) should retain an option to run a
> preloaded
> kernel, so that things like bhyve-grub keep working.
>


I understand why bhyveload(8) and bhyve(8) exists.
However, from a usability perspective, the fact that I need to invoke
two commands to start a VM is unfortunate.

>From a end-user usability standpoint, this is no good.
vmrun.sh is not bad for simple usage, but its limitations become apparent
quite quickly.

For anyone doing serious stuff with bhyve, you end up having to write
your own replacement for vmrun.sh.  I've done it, and I am sure
others have as well.

What I would like to see is a single command that I can type with all the
command-line
options to start a bhyve VM, instead of multiple commands that need to be
stitched
together via a script.

For example, if bhyve(8) could be enhanced with a flag "--loader" (or
choose another flag name that you prefer):

(1)  If "--loader" is not specified, then by default, bhyve uses bhyveload

(2)  If "--loader" is specified, then valid options are bhyveload
      and grub-bhyve

(3)  bhyve(8) will internally fork the loader specified in (1) or (2)

(4)  If (3) fails, then stop.  If (3) succeeds, then bhyve(8) will continue
to
       start the VM

I would also like to see:
 -> command-line option parsing for bhyveload and grub-bhyve changed,
      so that they silently ignore command-line options that they don't
grok.
      That would make it easier to implement (3),
      since bhyve(8) could pass its full command-line arguments to the
forked
      loader.

I don't have time to work on this, but it would be nice if this could be
implemented.
--
Craig


More information about the freebsd-virtualization mailing list