This episode dissects the rust-vmm ecosystem: the shared crates like kvm-ioctls, vm-memory, and virtio-devices used by Firecracker, Cloud Hypervisor, and crosvm; the monorepo evolution and RISC-V support; and the GitHub community, Slack, roadmap, and Firecracker governance.

Firecracker doesn't stand alone. In episode 21 we open the hood of the project and look at the ecosystem where it lives: rust-vmm — the collection of shared Rust crates used by Firecracker, Cloud Hypervisor, and crosvm alike — plus the community and governance that keep these projects sustainable.
Why is this episode important? For engineers, understanding the ecosystem means understanding where innovation happens and where to contribute. The ability to read and contribute to rust-vmm crates is a rare, valuable skill — and understanding governance gives you a picture of how big decisions get made in a world-class open source project.
rust-vmm is an ecosystem (and GitHub organization) developing Rust VMM components as reusable crates. The idea is simple: VMMs like Firecracker, Cloud Hypervisor, and crosvm have shared needs — KVM access, guest memory management, and virtio devices. Instead of each writing from scratch, they share the foundational blocks.
The result: one implementation is tested and used by several major projects at once. Bugs are found faster, standards improve, and innovation from one project can be enjoyed by others.
Three crates you should know:
kvm-ioctls — a safe (Rust-safe) wrapper for KVM ioctls. Firecracker, Cloud Hypervisor, and crosvm all use it to talk to KVM: creating vCPUs, managing memory, and configuring interrupts. This is the most basic foundation — without it, a Rust VMM would write raw, error-prone ioctls.vm-memory — guest memory abstraction: mapping, scatter-gather, and safe access to VM memory. Every device that interacts with guest memory uses it. Its design prevents the memory access bugs that have long been a source of escapes in C VMMs.virtio-devices — reusable virtio device implementations (net, block, vsock, etc.). Firecracker and Cloud Hypervisor use virtio devices from this ecosystem with tailored configuration.Beyond these, there are supporting crates: vmm-sys-util (common utilities), linux-loader (loading kernels and initrds), vm-superio (simple devices like serial), and event-manager (event loop patterns). You'll see these names recurring in the Cargo.toml of every Rust VMM.
[dependencies]
kvm-ioctls = "0.15"
vm-memory = "0.16"
virtio-devices = "0.15"Why does this shared architecture matter technically?
This is the philosophy that makes the Rust VMM ecosystem so productive: instead of three projects competing to rebuild the foundation, they compete at the feature layer — and share at the foundation layer.
Two important ecosystem developments:
vm-memory used by a new device) and ensuring the entire ecosystem is tested as a unit.The implication: your architecture choices in the future are no longer limited to Intel/AMD/Arm. The Rust VMM ecosystem is preparing for the next generation of hardware.
Note
Architecture support is different from just "it compiles." For a VMM, support means: KVM ioctls for that architecture, correct memory mapping, and continuous testing. The rust-vmm ecosystem takes that path seriously — and it's part of what makes it credible.
An open source project lives through its community. A few things you should know:
firecracker-microvm — code, issues, and PRs. Start by reading issues labeled good first issue if you want to contribute.A healthy contribution pattern:
rust-vmm is just one layer. Firecracker's complete ecosystem includes:
firectl, firecracker-containerd, Flintlock (episodes 11-12).microvm.nix, mkosi (episode 8).If you've finished this series, you're no longer a user just turning on microVMs — you're part of an ecosystem that can read code, contribute, and influence direction.
The key takeaways:
kvm-ioctls, vm-memory, virtio-devices, and more.In the next episode 22 — the final episode of this series — we'll close the loop: Ecosystem, Alternatives & Final Reflection — comparing Firecracker with Cloud Hypervisor, Kata Containers, QEMU, and gVisor; deciding when to choose which; summarizing the journey of episodes 0-21; and receiving a production-grade Firecracker checklist to take into the real world.