Mini-KVM — a small x86 hypervisor on the raw KVM API for kernel developers
About 4,200 lines of C on the Linux KVM ioctl API that boot Multiboot/ELF kernels and a stock Linux kernel to a shell, render VGA text mode, and explain guest failures (faults, descriptor tables, page-table mappings, why it triple-faulted) instead of silently resetting.
- Status
- experimental
- Verified
- (0 days before this build)
- How
- Summary checked against the repository README on 2026-11-09. Tested environments are those the README states.
- Applies to
buildgcc, make, binutilshostx86_64 Linux with KVM enabled and access to /dev/kvm
- Repository
- github.com/seolcu/mini-kvm
- License
- MIT
Scope
- Is: a KVM-based runner for kernels you wrote yourself, a diagnostic tool that explains guest failures, and a readable reference implementation of x86 virtualization.
- Is not: a production VMM (use QEMU, Firecracker or cloud-hypervisor), a cross-architecture emulator (x86 guests on x86 hosts only), or a sandbox.
Everything the README lists as working is covered by make test. Encouragement Award (Research), 2025-2 Ajou SoftCon.
git clone https://github.com/seolcu/mini-kvm.git && cd mini-kvm && make all
./kvm-vmm guest/hello
Search terms
minimal KVM hypervisor CKVM API exampledebug triple fault kernelhobby OS hypervisor
If this project helped you, you can star it on GitHub or sponsor the work.
Published 2026-11-09 · last changed 2026-11-09 · Markdown source