[Bug 283341] In version FreeBSD12.2 to FreeBSD 14.2 (include) bhyve host don't boot guest FreeBSD any version on BSD partition

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 16 Dec 2024 00:33:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283341

--- Comment #1 from Mark Peek <mp@FreeBSD.org> ---
I was able to reproduce this issue on a FreeBSD 14.2 host with a 14.2 guest
using bhyveload. The earlier issue commented about it regressing in 12.2 so
looking at the commits before that time had this one:

https://github.com/freebsd/freebsd-src/commit/14243f8de746e756ad3466aa6920a80e39157d9c
https://reviews.freebsd.org/D19262

which was MFC'd into 12.2:

https://github.com/freebsd/freebsd-src/commit/7c7ef3e8f9f2309430d171f93e3cb85f463e87e6

bhyveload will load the host loader into the VM which is why it would regress
when upgrading to 12.2 (and beyond).


I applied this patch to revert a functional change and was able to boot

diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c
index cf1d9b12d69f..8b8cc30ea91a 100644
--- a/stand/userboot/userboot/main.c
+++ b/stand/userboot/userboot/main.c
@@ -248,7 +248,7 @@ extract_currdev(void)
                dev.dd.d_dev = &userboot_disk;
                dev.dd.d_unit = 0;
                dev.d_slice = D_SLICEWILD;
-               dev.d_partition = D_PARTWILD;
+               dev.d_partition = 0;
                /*
                 * If we cannot auto-detect the partition type then
                 * access the disk as a raw device.

This is not the correct long term patch but does indicate where the regression
occurred. I've cc'd a couple of other people that might know more about what
should be done here.

-- 
You are receiving this mail because:
You are the assignee for the bug.