ignition
A research microVM for macOS on Apple Silicon (Hypervisor.framework) — architecturally modeled on AWS Firecracker, not a port. Boots Linux, virtio, SMP, snapshot/restore.
File Explorer
- docs.yml
- fdt.rs
- kernel.rs
- layout.rs
- mod.rs
- sysreg.rs
- lib.rs
- Cargo.toml
- device.rs
- mod.rs
- protocol.rs
- connection.rs
- mod.rs
- muxer.rs
- packet.rs
- balloon.rs
- blk.rs
- gpu.rs
- guest_ram.rs
- input.rs
- mmio.rs
- mod.rs
- net.rs
- queue.rs
- rng.rs
- boot_timer.rs
- bus.rs
- device.rs
- display.rs
- lib.rs
- rtc.rs
- serial.rs
- Cargo.toml
- api.rs
- config.rs
- main.rs
- model.rs
- vm.rs
- Cargo.toml
- bindings.rs
- gic.rs
- lib.rs
- build.rs
- Cargo.toml
- main.rs
- session.rs
- tools.rs
- vsock_client.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- controller.rs
- metrics.rs
- mod.rs
- hvf_vcpu.rs
- hvf_vm.rs
- mod.rs
- vcpu_manager.rs
- device_manager.rs
- dirty.rs
- lib.rs
- names.rs
- reset.rs
- snapshot.rs
- Cargo.toml
- lib.rs
- socket_vmnet.rs
- Cargo.toml
- examples.md
- specs-and-plans.md
- boot-and-restore.md
- diff-snapshots.md
- fuzzing.md
- architecture.md
- clone-primitive.md
- device-model.md
- vm-internal-api.md
- devices.md
- diff-snapshots.md
- disposable-browser.md
- fanout-demo.md
- fc-rest-api.md
- gui-display.md
- mcp-server.md
- sandbox.md
- snapshot-restore.md
- vmid.md
- fuzzing-steps.png
- fuzzing-steps.svg
- overview.md
- running.md
- boot-a-guest.md
- build-and-run.md
- guest-assets.md
- design-decisions.md
- hvf-firecracker-map.md
- validation-spike.md
- disposable-browser.md
- introduction.md
- SUMMARY.md
- 2026-06-12-fdt-followups.md
- 2026-06-12-followup-cleanups.md
- 2026-06-12-phase1-boot-integration.md
- 2026-06-12-phase1-fdt-generation.md
- 2026-06-12-phase1-gic.md
- 2026-06-12-phase1-hardening.md
- 2026-06-12-phase1-interrupt-delivery.md
- 2026-06-12-phase1-kernel-loader.md
- 2026-06-12-phase1-uart-echo.md
- 2026-06-12-phase1-virtio-blk.md
- 2026-06-12-serial-rx.md
- 2026-06-12-smp.md
- 2026-06-12-snapshot-restore.md
- 2026-06-12-virtio-net.md
- 2026-06-13-boot-timer.md
- 2026-06-13-device-model-framework.md
- 2026-06-13-device-model-snapshot.md
- 2026-06-13-diff-snapshots.md
- 2026-06-13-fast-restore-clonefile-mmap.md
- 2026-06-13-multi-vcpu-snapshot.md
- 2026-06-13-rtc-pl031.md
- 2026-06-13-virtio-balloon.md
- 2026-06-13-virtio-rng.md
- 2026-06-13-virtio-vsock-e1.md
- 2026-06-13-vmnet-snapshot.md
- 2026-06-14-faster-restore.md
- 2026-06-14-project-documentation-mdbook.md
- 2026-06-14-snapshot-fuzzer-m0.md
- 2026-06-14-snapshot-fuzzer-m1.md
- 2026-06-14-snapshot-fuzzer-m2.md
- 2026-06-14-snapshot-fuzzer-m3.md
- 2026-06-15-gui-compositor-m4.md
- 2026-06-15-gui-display-refactor.md
- 2026-06-15-seatbelt-sandbox.md
- 2026-06-15-virtio-gpu-m1.md
- 2026-06-15-virtio-input-m3.md
- 2026-06-15-virtio-vsock-e2.md
- 2026-06-16-disposable-browser.md
- 2026-06-16-dma-dirty-tracking.md
- 2026-06-16-gui-snapshot-m5-phase1.md
- 2026-06-16-gui-snapshot-m5-phase2.md
- 2026-06-16-interactive-reset.md
- 2026-06-17-mcp-server.md
- 2026-06-17-vmid.md
- 2026-06-18-fanout-driver.md
- 2026-06-18-fc-rest-api.md
- 2026-06-18-private-restore.md
- 2026-06-18-sudo-free-net-socket-vmnet.md
- 2026-06-19-tpm2-snapshot-fuzz-demo.md
- 2026-06-21-resizable-framebuffer.md
- 2026-06-12-phase1-boot-integration-design.md
- 2026-06-12-phase1-fdt-generation-design.md
- 2026-06-12-phase1-gic-design.md
- 2026-06-12-phase1-interrupt-delivery-design.md
- 2026-06-12-phase1-kernel-loader-design.md
- 2026-06-12-phase1-uart-echo-design.md
- 2026-06-12-phase1-virtio-blk-design.md
- 2026-06-12-serial-rx-design.md
- 2026-06-12-smp-design.md
- 2026-06-12-snapshot-restore-design.md
- 2026-06-12-virtio-net-design.md
- 2026-06-13-boot-timer-design.md
- 2026-06-13-device-model-framework-design.md
- 2026-06-13-device-model-snapshot-design.md
- 2026-06-13-diff-snapshots-design.md
- 2026-06-13-fast-restore-clonefile-mmap-design.md
- 2026-06-13-multi-vcpu-snapshot-design.md
- 2026-06-13-rtc-pl031-design.md
- 2026-06-13-virtio-balloon-design.md
- 2026-06-13-virtio-rng-design.md
- 2026-06-13-virtio-vsock-e1-design.md
- 2026-06-13-vmnet-snapshot-design.md
- 2026-06-14-faster-restore-design.md
- 2026-06-14-project-documentation-mdbook-design.md
- 2026-06-14-snapshot-fuzzing-demonstrator-design.md
- 2026-06-15-gui-bringup-plan.md
- 2026-06-15-gui-compositor-m4-design.md
- 2026-06-15-gui-display-refactor-design.md
- 2026-06-15-seatbelt-sandbox-design.md
- 2026-06-15-virtio-gpu-m1-design.md
- 2026-06-15-virtio-input-m3-design.md
- 2026-06-15-virtio-vsock-e2-design.md
- 2026-06-16-disposable-browser-design.md
- 2026-06-16-dma-dirty-tracking-design.md
- 2026-06-16-gui-snapshot-m5-design.md
- 2026-06-16-interactive-reset-design.md
- 2026-06-17-mcp-server-design.md
- 2026-06-17-vmid-design.md
- 2026-06-18-fanout-driver-design.md
- 2026-06-18-fc-rest-api-design.md
- 2026-06-18-large-page-snapshot-findings.md
- 2026-06-18-private-restore-design.md
- 2026-06-18-sudo-free-net-socket-vmnet-design.md
- 2026-06-19-tpm2-snapshot-fuzz-demo-design.md
- 2026-06-21-resizable-framebuffer-design.md
- book.toml
- .gitignore
- harness.c
- README.md
- repro.c
- run.sh
- target.c
- diff-snapshot-fanout.md
- vsock-roundtrip.md
- gen_seeds.py
- getcap.seed
- nv_write.seed
- asan_spike.c
- harness.c
- ignition_fuzz.h
- target.c
- target_png.c
- target_tpm2.c
- tpm2_det_entropy.c
- build-fuzz-initramfs.sh
- build-kernel.sh
- build-rootfs-browser.sh
- build-rootfs-gui.sh
- build-rootfs-tools.sh
- build-rootfs.sh
- devmem.c
- ign-exec.py
- test_ign_exec.py
- vmid-reseed.c
- .gitignore
- README.md
- benchmark.py
- boot_vs_restore_timing.py
- diff_snapshot_bench.py
- diff_snapshot_test.py
- disposable-browser.sh
- disposable_browser_bench.py
- fanout-gui.sh
- fanout_demo.py
- fc_api_live_test.py
- fc_api_mock_test.py
- fuzz_m1_test.py
- fuzz_m2_test.py
- fuzz_m3_bench.py
- fuzz_tpm2_bench.py
- fuzz_tpm2_test.py
- install-socket-vmnet.sh
- make-browser-base.sh
- make-tools-base.sh
- mcp_live_test.py
- restore_clone_test.py
- restore_smp_test.py
- restore_test.py
- sandbox_bench.py
- sign.sh
- test_fanout_demo.py
- vmid_live_proof.py
- vsock_e2_test.py
- boot.rs
- display_sink.rs
- Cargo.toml
- .gitignore
- Cargo.lock
- Cargo.toml
- ignition.entitlements
- LICENSE
- NOTICE
- README.md
- REBUILD-GUEST-ASSETS.md
- ROADMAP.md
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
boot
View Details ▼
boot
Build tooling for the Clojure programming language.
boot repl
Start a REPL session either with the project or standalone:
boot jar
Build a single `uberjar`:
boot --dependencies boot/new new --template {{template_name}} --name {{project_name}}
Generate scaffolding for a new project based on a template:
cargo build
View Details ▼
cargo build
Compile a local package and all of its dependencies.
cargo {{[b|build]}}
Build the package or packages defined by the `Cargo.toml` manifest file in the local path:
cargo {{[b|build]}} {{[-r|--release]}}
Build artifacts in release mode, with optimizations:
cargo {{[b|build]}} --locked
Require that `Cargo.lock` is up to date:
mdbook
View Details ▼
mdbook
Create online books by writing Markdown files.
mdbook init
Create an mdbook project in the current directory:
mdbook init {{path/to/directory}}
Create an mdbook project in a specific directory:
mdbook clean
Clean the directory with the generated book:
