Compilar el módulo de Virtualbox OSE

De doc.ubuntu-es
Revisión a fecha de 20:09 7 sep 2008; Goyo (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
Advert.3.png Advertencia: éste artículo es un COMO o tutorial. La efectividad del mismo puede depender del hardware y software que tengas instalado. Por tanto, la fiabilidad puede variar entre usuarios, o incluso llegar estropear tu sistema. Utiliza este tutorial con precaución.


El problema

VirtualBox incluye un módulo para el kernel que es necesario para la virtualización. Éste módulo se instala normalmente mediante el paquete virtualbox-ose-modules. Para que un módulo funcione debe estar compilado específicamente para la versión del kernel que se esté usando. Sin embargo en ocasiones se actualiza el kernel y sin embargo no se actualiza virtualbox-ose-modules a la versión correspondiente.

Como ejemplo, en el momento de escribir esto (7-sep-2008), la última versión de Linux disponible en los repositorios de Ubuntu Hardy es linux-image-2.6.24-21-generic mientras que la del módulo de VirtualBox es virtualbox-ose-modules-2.6.24-20-generic. Como resultado de esta discrepancia de versiones al tratar de ejecutar una máquina virtual se obtiene un mensaje de error:

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Please install the virtualbox-ose-modules package for your kernel and execute '/etc/init.d/vboxdrv start' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).

El consejo que se da en el mensaje no sirve. Ya está instalado virtualbox-ose-modules, pero como no es la versión adecuada, al ejecutar sudo /etc/init.d/vboxdrv start se obtiene un nuevo mensaje de error indicando que el módulo necesario no existe.

La solución

La solución es, claro, compilar el módulo para disponer de una versión adecuada. Esto no debe ser motivo de susto porque en este caso basta teclear tres comandos en un terminal que además se pueden copiar de aquí:

sudo apt-get install virtualbox-ose-source linux-headers-$(uname -r) build-essential module-assistant
sudo m-a -t build,install virtualbox-ose
sudo /etc/init.d/vboxdrv start

Para los curiosos: el primer comando descarga el código fuente del módulo e instala algunos paquetes necesarios para compilarlo; el segundo compila e instala el módulo y el tercero hace que el módulo se cargue para que se pueda usar.

Después de hacer esto VirtualBox ya debería ser capaz de ejecutar las máquinas virtuales.

Otros problemas

El procedimiento descrito aquí soluciona el problema cuando ya se dispone de una instalación de VirtualBox OSE que deja de funcionar a raíz de una actualización del kernel. Para instalar el programa por primera vez o resolver otros posibles problemas consulta la página dedicada a VirtualBox.

Herramientas personales