Die Hauptrisiken bei der Entwicklung von Kernelmodulen bestehen darin, dass Sie Ihr System viel leichter zum Absturz bringen können als mit normalem Code, und Sie werden wahrscheinlich feststellen, dass Sie manchmal Module erstellen, die nicht entladen werden können, was bedeutet, dass Sie zum erneuten Laden neu starten müssen sie, nachdem Sie behoben haben, was falsch ist.
Ja, eine VM ist für diese Art der Entwicklung in Ordnung und ich verwende sie, wenn ich an Kernelmodulen arbeite. Die VM isoliert Ihre Testumgebung gut von Ihrem laufenden System.
Wenn Sie Snapshots erstellen und wiederherstellen, sollten Sie Ihren Quellcode außerhalb in ein Versionskontroll-Repository eingecheckt lassen der VM, damit Sie nicht versehentlich Ihren neuesten Code verlieren, wenn Sie den aktuellen Status der VM verwerfen.
Angenommen, Sie versuchen nicht, einen Treiber für tatsächliche Hardware zu schreiben, ist dies eine großartige Möglichkeit, an Modulen zu arbeiten. Sie können einen Snapshot des funktionierenden Systems erstellen, und wenn Sie etwas in die Luft jagen, kehren Sie einfach zum Snapshot zurück.
Wenn Sie können, erstellen Sie ein vollständiges Duplikat der VM, nur für den Fall, dass das Snapshot-System seltsamer ist, als ich denke. :)