Bhyve Boot Question

From: Pete Wright <pete_at_nomadlogic.org>
Date: Fri, 01 Mar 2024 22:29:21 UTC
Hello,

I was hoping someone could help me diagnose an issue I'm having porting 
some FreeBSD VM's that are currently running on FreeBSD+Bhyve to a 
SmartOS+Bhyve configuration.

The VM's I'd like to port over use a file back VM raw disk image, this 
works fine on my FreeBSD hypervisor but SmartOS would prefer zvols.  One 
thing I should note is I'm using bhyveload(8) to boot my VMs.  The guest 
instances in question are all FreeBSD as well.

To test migrating these VM's to SmartOS I've done the following:

1. copy the VM image file to the SmartOS hypervisor

2. use quemu-img convert to convert the raw disk image to a zvol

I did this with one of the official memdisk USB images, and things 
worked great.  I used the UEFI bootrom flag to bhyve.  Yet when I try to 
take one of the VM's I want to port things don't work as expected.  When 
I start the VM the console (and VNC display output) just hang on a blank 
screen.  I suspect its related to the fact that I use bhyveload(8).

Here is what the disk looks like for one of the VM's in question:
$ gpart  show nda0
=>      40  41942960  nda0  GPT  (20G)
        40       216        - free -  (108K)
       256      1024     1  freebsd-boot  (512K)
      1280  39844608     2  freebsd-ufs  (19G)
  39845888   2097112     3  freebsd-swap  (1.0G)

So my question is this - if I am reading the gpart output correctly, I 
should be able to use the "bios" bootrom option for Bhyve under SmartOS 
right and it'd find the "freebsd-boot" partition?  Or is something 
special happening to my VM when I use bhyveload(8) that would cause 
problems porting it over to a zvol under SmartOS?

Thanks in advance for any insights!

-pete

-- 

Pete Wright
pete@nomadlogic.org