Estoy en una clase de sistemas operativos. A continuación, tenemos que hacer algo de trabajo para modificar el código del kernel. Se nos ha aconsejado que no usemos máquinas personales para probar (supongo que esto significa instalarlo) ya que podríamos escribir código incorrecto y escribir en algún lugar que no deberíamos. Se nos da acceso a una máquina en un laboratorio para estar seguros.
Si tuviera que probar usando una VM, ¿protegería eso el sistema host de un código potencialmente inseguro? Realmente quiero no tener que estar atascado en un sistema en la escuela y las instantáneas serán útiles.
Si todavía es de alto riesgo, ¿alguna sugerencia sobre lo que debo considerar para realizar una prueba de manera segura?
Vamos a utilizar algo como linuxmint para empezar. Si alguien quiere ver qué habrá en el proyecto actual: http://www.cs.fsu.edu/~cop4610t/assignments/project2/writeup/specification.pdf
fuente
Respuestas:
Los principales riesgos de desarrollar módulos de kernel son que puede bloquear su sistema mucho más fácilmente que con el código normal, y probablemente encontrará que a veces crea módulos que no se pueden descargar, lo que significa que tendrá que reiniciar para volver a cargar después de arreglar lo que está mal.
Sí, una VM está bien para este tipo de desarrollo y es lo que uso cuando estoy trabajando en los módulos del kernel. La VM aísla muy bien su entorno de prueba de su sistema en ejecución.
Si va a tomar y restaurar instantáneas, debe mantener su código fuente registrado en un repositorio de control de versiones fuera de la VM para que no pierda accidentalmente su último código cuando descarte el estado actual de la VM.
fuente
Suponiendo que no está intentando escribir un controlador para el hardware real, esta es una excelente manera de trabajar en módulos. Puede hacer una instantánea del sistema de trabajo y, si explota algo, simplemente vuelva a la instantánea.
Si puede, haga un duplicado completo de la VM, en caso de que el sistema de instantáneas sea más extraño de lo que creo. :)
fuente