Testing and debugging kernels can be painfully slow: compiling the kernel, setting up a testing system (bare-metal or VM), deploying the recompiled kernel, executing tests, collect results and repeating the cycle.
Intensified by the fact that each kernel developer employs their own distinctive set of custom scripts and workflows to accomplish comparable goals can lead to inefficiencies and it is often a major deterrent for newcomers aspiring to venture into kernel development.
Virtme-ng aims to provide a standardized tool for kernel developers that can help to expedite this process. It uses a combination of QEMU/KVM, virtio-fs and overlayfs to boot a recompiled kernel (or any kernel image in the system) inside a virtualized copy-on-write (CoW) live snapshot of the running system.
This allows to basically “fork” the system with a new kernel, creating a safe sandbox for executing tests (with performance comparable to native host execution), all while eliminating the need for the…