NetBSD 9.3 on FreeBSD bhyve
                    ===========================

       NetBSD 9.3 as guest on the FreeBSD bhyve hypervisor
       ---------------------------------------------------

           Headless FreeBSD box, with existing bridge.
           ...........................................

I wanted  to install NetBSD 9.3  as a virtual machine  on a headless
FreeBSD machine. This machine already has a bridge in place.

                             vm-bhyve
                             --------

bhyve  was already  running  on  this machine,  however  I got  UEFI
problems  when I  tried to  setup  a VM  on the  'normal' way,  with
bhyvectl.

It turned out that using vm-bhyve makes things much easier.

Also,  using this  method, there  is  no need  for VNC,  only a  ssh
connection to the FreeBSD host is required. The console runs in your
terminal, so in your tmux session.

                 Steps to get a running NetBSD VM
                 --------------------------------

- Install packages
- Create ZFS dataset
- Enable and configure vm-bhyve
- Initiate vm-bhyve
- Add existing bridge to vm-bhyve config
- Create the VM and start the installation

                        1 Install packages
                        ------------------

First install bhyve, and vm-bhyve.

The following packages where already installed:

- bhyve-firmware
- grub2-bhyve
- uefi-edk2-bhyve-csm

Therefor, I only had to install vm-bhyve:

   pkg install vm-bhyve

                       2 Create ZFS dataset
                       --------------------

    zfs  create  zroot/vm-bhyve
    zfs  set  mountpoint=/vm-bhyve zroot/vm-bhyve

                 3 Enable and configure vm-bhyve
                 -------------------------------

Add to ```/etc/rc.conf```:

    vm_enable="YES"
    vm_dir="zfs:zroot/vm-bhyve"

                       4 Initiate vm-bhyve
                       -------------------

       vm init

       cd /vm-bhyve/
       cp /usr/local/share/examples/vm-bhyve/* .templates/


             5 Add existing bridge to vm-bhyve config
             ----------------------------------------

   vm switch create -t manual -b bridge0 bridge0

            6 Create the VM and start the installation
            ------------------------------------------

       mv NetBSD-9.3-amd64.iso /vm-bhyve/.iso
       vm create -t netbsd -s 10G netbsdvm
       vm install netbsdvm NetBSD-9.3-amd64.iso
       vm console netbsdvm

Now you can perform the normal installation.

I  accepted most  default settings,  and set  the console  to 115200
baud.

Make sure  vm-bhyve uses a tap  device that is already  added to the
bridge. If not, you can add a tap device to the bridge with:

   ifconfig bridge0 addm tap1

Setup  the  network config  in  the  guest  fitting to  your  bridge
settings.

After  the installation,  NetBSD will  reboot, you  can stay  in the
console.

Close the  console with  ```~Ctrl D```, that  is tilde,  followed by
Ctrl-D.

                            Run the VM
                            ----------

You can start and stop the VM with

   vm start netbsdvm
   vm stop netbsdvm

Happy VM-ing !

Last edited: $Date: 2022/12/09 17:18:39 $

                             * EOF *