Kernel development is often associated with rebooting crashed machines, debugging over serial consoles, and an unwiedly development cycle. Developers know that short development cycles are incredibly important for programmer productivity.
The QEMU machine emulator and virtualizer offers a way to test kernels inside virtual machines without risk of hanging the physical machine. It also makes kernel debugging easier than between physical machines. The kernel development with QEMU allows kernel code changes to be tested within seconds.
This talk covers methods of compiling, testing, and debugging kernels using QEMU. Common approaches include building a custom initramfs or sharing the host file system with a virtual machine. Advanced use cases like cross-architecture development and device driver bringup are also possible using QEMU.
This presentation is aimed at anyone wishing to shorten their kernel development cycle and overcome some of the hurdles of developing low-level software.
Stefan Hajnoczi, Red Hat