quiz: tiny VMs for kernel development
This presentation was given at Everything Open 2025
Abstract
At the start of 2023 I traded my 20-year career as a Linux sysadmin for a new life as a full time OpenZFS developer. Going great, thanks for asking!
Because fast iterative development sucks when you need to wait for a reboot after every kernel panic, I wrote quiz, a tool to make fast edit-compile-test cycles on kernel code possible. Under the hood it uses QEMU’s “microvm” profile and a custom kernel config to boot from cold into the OpenZFS test suite in a couple of seconds. Its great, and I use it hundreds of times a day.
This talk will show you quiz in action, describe how it’s constructed, show how I use it to keep OpenZFS updated to the latest Linux kernel changes and hunt down bugs in obscure configurations, discuss future plans for updating it to support other operating systems and architectures. Most of all, this talk will show you how with low-level kernel hacking for any OS can be made as simple as hacking on any other program.
Resources
- Slides: norris_quiz_everything-open-2025_slides.pdf [PDF 1.2M]
- Demo videos
- Basic usage: demo-basic-1 demo-basic-2 demo-basic-3 demo-basic-4
- Profiles: demo-profiles-1 demo-profiles-2
- tmux and multiarch: demo-tmux-multiarch
- Software: https://github.com/robn/quiz
- Blog post: quiz: a tool for rapid OpenZFS development
- Video: coming soon!
Acknowledgements
Thanks to the Everything Open 2025 committee and sponsors for inviting me to present this work.