Ich bin in einer Betriebssystemklasse. Als nächstes müssen wir einige Arbeiten durchführen, um den Kernel-Code zu modifizieren. Es wurde uns geraten, keine Personalcomputer zum Testen zu verwenden (ich nehme an, dies bedeutet, es zu installieren), da wir schlechten Code schreiben und irgendwo darüber schreiben könnten, was wir nicht sollten. Wir erhalten aus Sicherheitsgründen Zugang zu einer Maschine in einem Labor.
Wenn ich mit einer VM testen würde, würde dies das Hostsystem vor potenziell unsicherem Code schützen? Ich möchte wirklich nicht an einem System in der Schule festhalten müssen und Schnappschüsse werden nützlich sein.
Wenn das Risiko immer noch hoch ist, gibt es Vorschläge, was ich beachten muss, um sicher zu testen?
Wir werden zunächst etwas wie linuxmint verwenden. Wenn jemand sehen möchte, was im aktuellen Projekt sein wird: http://www.cs.fsu.edu/~cop4610t/assignments/project2/writeup/specification.pdf
quelle
Antworten:
Die Hauptrisiken bei der Entwicklung von Kernelmodulen bestehen darin, dass Sie Ihr System viel einfacher 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 einen Neustart durchführen müssen sie, nachdem Sie das Problem behoben haben.
Ja, eine VM ist in Ordnung für diese Art der Entwicklung, 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 möchten, sollten Sie Ihren Quellcode in einem Versionskontroll-Repository außerhalb der VM aufbewahren, damit Sie nicht versehentlich Ihren neuesten Code verlieren, wenn Sie den aktuellen Status der VM verwerfen.
quelle
Vorausgesetzt, Sie versuchen nicht, einen Treiber für die eigentliche Hardware zu schreiben, ist dies eine großartige Möglichkeit, um an Modulen zu arbeiten. Sie können das funktionierende System mit einem Schnappschuss versehen. Wenn Sie etwas in die Luft jagen, kehren Sie einfach zum Schnappschuss zurück.
Wenn Sie können, machen Sie ein vollständiges Duplikat der VM, nur für den Fall, dass das Snapshot-System seltsamer ist als ich denke. :)
quelle