Skip to content

(Q35) Bring up patina-qemu local build for SRE orchestration validation #86

@kat-perez

Description

@kat-perez

Pre-EDC validation prerequisite: stand up the patina-qemu Q35 local build so we can confirm SreBootManager dispatches in real DXE firmware before EDC. Surface hardware isn't available yet, so Q35 in QEMU is the only path to end-to-end signal on the SRE orchestration code.

This is not the same as #58 (Build Product Image), which targets the real Surface Intel UEFI image. This issue is about the local dev/test environment.

Steps:

  1. git submodule update --init --recursive in patina-qemu.
  2. Set up a Python venv, install from pip-requirements.txt, run stuart_setup + stuart_update for the Q35 platform.
  3. Build the patched DXE core from the local kat-perez/sre-q35-integration branch of patina-dxe-core-qemu (already exists, registers BootDispatcher::new(SreBootManager::new(...)) with placeholder paths).
  4. Use build_and_run_rust_binary.py --platform Q35 --patina-dxe-core-repo ../patina-dxe-core-qemu to embed the .efi into the platform FD and launch QEMU.
  5. Capture serial log; assert the orchestrator runs through:
    • interleave connect + dispatch
    • EndOfDxe signal
    • console discovery
    • lock_partition_write attempted (expected NotFound with placeholder path)
    • ReadyToBoot signal
    • main OS boot attempted (expected fail with placeholder path)
    • "SRE normal boot exhausted" log line

Out of scope:

Closes-blocks: enables end-to-end signal on #49 / #61 / #62 work in QEMU.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions