Add an end-to-end cold-boot microVM profile
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.9k
- Forks
- 238
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 100
Description
Tracking issue: MicroVM support and private snapshot restore.
Motivation
Small, purpose-built guests need a usable OpenVMM machine option with a compact,
documented boot and device contract. The first user-facing PR should provide a
complete cold-boot workflow so reviewers can run the profile, inspect its guest ABI,
and validate it without assembling unfinished feature pieces.
Proposed Scope
- Define the microVM machine contract: PVH entry, guest memory layout, fixed-MMIO
devices, interrupts, and supported platform capabilities. - Wire the profile through machine construction, storage configuration, CLI, and
RPC, with consistent validation of unsupported combinations. - Build a small PVH test guest from source and make it discoverable through the
normal Petri artifact workflow. - Add cold-boot VMM tests and the corresponding Flowey CI source changes, then
regenerate generated workflows. - Document supported configurations and runnable CLI/RPC examples in the Guide.
- Keep the complete cold-boot feature, guest artifact, tests, docs, and CI in one
PR rather than exposing a partially usable machine option.
Acceptance Criteria
- The source-built guest cold-boots and reports success through the configured
device path using both supported CLI and RPC entry points. - Tests verify the advertised memory, device, interrupt, and storage contract.
- Invalid options and incompatible profile/device combinations fail before
guest execution with actionable errors. - Applicable KVM and WHP VMM tests run through
cargo xflowey vmm-tests-run,
with unavailable backend or architecture coverage recorded explicitly. - CLI parsing, help, documentation, and lint checks pass with the new options.
- Existing machine types retain their defaults and boot behavior.
Dependencies
Non-Goals
This issue establishes cold boot, not snapshot capture, device restore, live
migration, or general-purpose firmware support for the new profile.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked 00-microvm.md tracking document and dependencies B01 (#4434) and F06 (#4427); the issue names no implementation files. Trace the machine, CLI, RPC, Petri artifact, Flowey, and Guide entry points, then run cargo xflowey vmm-tests-run. Done means a source-built PVH guest cold-boots through CLI and RPC, contract and validation tests pass, workflows regenerate, and documentation and existing machine behavior remain correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, ci-cd, cli, documentation, infrastructure, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100