Skip to content

Conversation

@cgwalters
Copy link
Collaborator

Parse the QEMU firmware interop specification JSON descriptors to find firmware instead of doing it manually. This fixes OVMF firmware detection on Debian/Ubuntu derivatives.

Add a hidden bcvk libvirt print-firmware which is a cheap way to test our parser.

Assisted-by: Claude Code (Sonnet 4.5)

@cgwalters
Copy link
Collaborator Author

Still testing this one out

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for QEMU's firmware interop specification, replacing the manual, hardcoded firmware path detection. This is a great improvement for portability and correctness, especially on distributions like Debian/Ubuntu. The addition of the print-firmware debug command is also a useful tool for diagnostics. The changes are well-structured. I've provided a couple of suggestions to improve maintainability and to fully align with the QEMU specification.

Parse the QEMU firmware interop specification JSON descriptors
to find firmware instead of doing it manually. This fixes OVMF
firmware detection on Debian/Ubuntu derivatives.

Add a hidden `bcvk libvirt print-firmware` which is a cheap
way to test our parser.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
@cgwalters cgwalters marked this pull request as ready for review December 11, 2025 12:15
@cgwalters
Copy link
Collaborator Author

OK, this one is now tested in bootc-dev/bootc#1809 - see https://github.com/bootc-dev/bootc/pull/1809/changes#diff-9f49bfa62661bbb5dd03467fa22ac2c966075ded724a545a55d9b7852ae1a849R79
and we're now passing the bootc secure boot chain in tests!

In this I ran into #145 again which added some time.

@cgwalters cgwalters enabled auto-merge (rebase) December 11, 2025 13:23
@cgwalters cgwalters merged commit 0e55d5a into bootc-dev:main Dec 11, 2025
15 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants