[Bug 279584] UEFI-booted VM does not support read-only storage with virtio-blk

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 08 Jun 2024 04:43:30 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279584

            Bug ID: 279584
           Summary: UEFI-booted VM does not support read-only storage with
                    virtio-blk
           Product: Base System
           Version: 14.0-STABLE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: bhyve
          Assignee: virtualization@FreeBSD.org
          Reporter: editor@callfortesting.org

A UEFI-GOP/bhyve-firmware booted VM will not support a boot drive.

Scenario one:

-s 2,virtio-blk,/freebsd.raw,ro

Scenario two:

freebsd.raw is on a ZFS dataset and the dataset is set to 'readonly=on'.

Output in both cases:

BdsDxe: failed to load Boot0001 "UEFI Misc Device" from
PciRoot(0x0)/Pci(0x2,0x0): Not Found

Works:

-s 2,virtio-blk,FreeBSD-14.0-RELEASE-amd64-disc1.iso

Fails:

-s 2,virtio-blk,FreeBSD-14.0-RELEASE-amd64-disc1.iso,ro

Work on writable underlying storage:

-s 2,ahci-cd,FreeBSD-14.0-RELEASE-amd64-disc1.iso
-s 2,ahci-cd,FreeBSD-14.0-RELEASE-amd64-disc1.iso,ro
-s 2,ahci-hd,FreeBSD-14.0-RELEASE-amd64-disc1.iso
-s 2,ahci-hd,FreeBSD-14.0-RELEASE-amd64-disc1.iso,ro
-s 2,nvme,FreeBSD-14.0-RELEASE-amd64-disc1.iso

Fails on writable underlying storage (for what it's worth):

-s 2,nvme,FreeBSD-14.0-RELEASE-amd64-disc1.iso,ro

Work on read-only underlying storage:

-s 2,ahci-cd,FreeBSD-14.0-RELEASE-amd64-disc1.iso
-s 2,ahci-cd,FreeBSD-14.0-RELEASE-amd64-disc1.iso,ro
-s 2,ahci-hd,FreeBSD-14.0-RELEASE-amd64-disc1.iso
-s 2,ahci-hd,FreeBSD-14.0-RELEASE-amd64-disc1.iso,ro

Fail on read-only underlying storage (for what it's worth):

-s 2,nvme,FreeBSD-14.0-RELEASE-amd64-disc1.iso
-s 2,nvme,FreeBSD-14.0-RELEASE-amd64-disc1.iso,ro

This behavior appears to be limited to the virtio-blk back-end.
Reported by: Chris M from the bhyve Production User Call

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