Here we build a lightweight VM for kernel and device development by leveraging LVM's thin logical volumes.
Thin volumes are easy to copy, destroy, and clone.
They facilitate a "stateless" VM whose rootfs is immutable between runs -- like you'd see in a container environment.
Statelessness provides all the benefits of a sanitary development environment while still allowing us
to pass in a guest kernel that we can recompile in the host.
Here's how to set it all up.