Instalando VirtualBox a mano
A continuación les dejo un articulo escrito por Facundo, un amigo de los pagos de San Luis, y editor del blog "Codigo Unix" (el cual les recomiendo en especial si les interesa la seguridad informática en Unix) en el cual explica los pasos para instalar "artesanalmente" VirtualBox en Linux. Obviamente que esta no es la manera más sencilla o práctica, pero si se ven en esta situación, el articulo les va a venir al pelo, ya que contiene varias soluciones que pueden servirles a aquellos con configuraciones (y/o problemas) similares a la de Facundo.
Instalando VBox a mano
Hoy por la tarde necesitaba usar una máquina virtual, tenia que probar software de seguridad en una red, y tenia solamente una máquina, así que sin pensarlo descargue VirtualBox, pero existía un inconveniente, estaba utilizando el Kernel de Linux 2.6.28.3, compilado a mano por mi, no hace demasiado tiempo.
Entonces pensé en descargar VirtualBox desde los repositorios, pero, al instalar los módulos de VBox OSE, no tenia sentido regresar versiones atrás en el kernel de Linux, únicamente para utilizar VirtualBox. Fui al directorio /usr/src, pero (siempre hay un pero), hacia unos días que había borrado las fuentes y no iba a poder compilar ni los headers del kernel, ni los los módulos de VirtualBox
No me quedo otra que ir a kernel.org y descargar las fuentes de un nuevo Kernel, esta vez 2.6.28.6.
Por otro lado, fui a la página de VirtualBox, y descargue este software en su versión 2.4.1 para Linux, aquí se presentan una cantidad de paquetes binarios precompilados, pero yo baje un paquete “All Distributions”, el cual viene en un paquete .run.
Una vez que hemos terminado de descargar el Kernel, procedí al proceso de compilación ¿como?¿how to?, así bien fácil:
Instalando el nuevo núcleo:
Primero que nada, hay que mover el archivo linux-2.6.28.6.tar.bz2 a /usr/src y luego descomprimir las fuentes del núcleo que vienen empaquetadas en un archivo .tar.bz2
#: mv linux-2.6.28.6.tar.bz2 /usr/src
#: tar jxvf linux-2.6.28.6.tar.bz2
Una vez descomprimidas, tenemos que crear un enlace simbolico llamado linux que apunte a las fuentes.
#: ln -s /usr/src/linux-2.6.28.6 /usr/src/linux
#: cd linux
Bien, como yo ya habia compilado varias veces, tengo mi archivo config guardado, con el cual evito tener que reconfigurar el núcleo con cada compilación, proceso que ahorra la mayor parte de la complejidad que supone compilar un kernel.
Copiamos el antiguo config dentro del directorio de las fuentes.
#: cp /boot/config-2.6.28.3 /usr/src/linux-2.6.28.6/.config
Una vez hecho esto, procedemos a comenzar con la compilación restaurando las configuración del archivo config que acabamos de copiar.
#: make oldconfig
Si el kernel que estamos compilando, presenta nuevos “features” con respecto a la configuración que poseemos, este nos preguntara sobre si deseamos compilar soporte también para estas nuevas características, solamente debemos responder las preguntas que este nos hace.
Ahora pasaremos al proceso de compilación propiamente dicho:
#: make && make install
Proceso de compilación
Podemos salir a tomar un café, a hacer un poco de ejercicio o ir de compras, pues esto tardara bastante tiempo, en mayor o menor medida dependiendo de la capacidad de procesamiento de nuestro hardware.
Una vez que esto termine, hacemos:
#: make install_modules
#: mkinitramfs -o /boot/initrd.img-2.6.28.6 2.6.28.6
Listo, ya esta casí todo hecho respecto a la compilación del núcleo, pasaremos ahora a agregar la respectiva entrada en el Grub.
Podemos hacerlo de dos formas, una es haciendo un update-grub, o agregamos a mano la siguiente entrada, con nuestro editor de textos favorito (Vim rulez!), deberemos incorporar al archivo /boot/grub/menu.lst, algo como esto:
title Debian GNU/Linux, kernel 2.6.28.6
root (hd0,5)
kernel /boot/vmlinuz-2.6.28.6 root=/dev/sda6 ro quiet vga=792
initrd /boot/initrd.img-2.6.28.6
Instalando el Linux Headers:
VirtualBox, necesita tener instalado los headers del núcleo, para instalarlo el proceso es bien simple, utilizaremos un paquete llamado kernel-package, el cual trae un conjunto de utilidades para la construcción de núcleos en Debian.
Hacemos lo siguiente:
#: apt-get update && apt-get install kernel-package
Una vez que este se encuentre instalado hacemos lo siguiente:
#: make-kpkg --append-to-version -1.0 kernel_headers
Esto tardara un rato, y nos generara un paquete .deb con los headers, por lo cual, deberiamos poder instalarlo con dpkg:
#: dpkg -i linux-headers-2.6.28.6-1.0_2.6.28.6_i386.deb
Y listo, los headers ya se encuentran instalados.
Instalando VirtualBox:
Ahora debemos dirigirnos a donde hemos descargado VirtualBox, y allí hacemos:
#: chmod +x virtualBox-2.1.4-42893-Linux_x86.run
#: ./virtualBox-2.1.4-42893-Linux_x86.run
La instalación se realiza de manera automática, pero aún nos queda OSE-Modules, a los cuales debemos compilarlos.
Compilando OSE-Modules:
Si intentamos iniciar vboxdrv, nos encontraremos con un pequeño error, que dice:
#: /etc/init.d/vboxdrv
Starting VirtualBox kernel module …failed!
(No suitable module for running kernel found)
Si nos fijamos en el archivo /var/log/vbox-install.log encontraremos:
#: cat /var/log/vbox-install.log
Makefile:154: *** Error: /usr/src/linux (version 2.6.28.6-1.0) does not match the
current kernel (version 2.6.28.6). Alto.
Lo cual nos dice claramente que no encuentra las fuentes del núcleo. WTF???.
Tarte un rato en encontrar una solución, pero cuando la encontre, era mas facil de lo que parecia:
#: cd /lib/modules/2.6.28.6/source/
#: make oldconfig
#: make prepare
Ahora hacemos:
#: /etc/init.d/vboxdrv setup
#: /etc/init.d/vboxdrv start
Esperamos que se compilen los módulos, no suele demorar mucho y al terminar ya podemos iniciar VirtualBox normalmente.
VirtualBox con Damm Vulnerable Linux (DVL)
Yo ya estoy usando Damm Vulnerable Linux desde VBox. Un tip, ahora es muchísimo mas fácil configurar la red desde la máquina virtual utilizando NAT, (el proceso es casi automático).
Espero que les haya servido.
Comenten y dejen puntos!!!!
A continuación les dejo un articulo escrito por Facundo, un amigo de los pagos de San Luis, y editor del blog "Codigo Unix" (el cual les recomiendo en especial si les interesa la seguridad informática en Unix) en el cual explica los pasos para instalar "artesanalmente" VirtualBox en Linux. Obviamente que esta no es la manera más sencilla o práctica, pero si se ven en esta situación, el articulo les va a venir al pelo, ya que contiene varias soluciones que pueden servirles a aquellos con configuraciones (y/o problemas) similares a la de Facundo.
Instalando VBox a mano
Hoy por la tarde necesitaba usar una máquina virtual, tenia que probar software de seguridad en una red, y tenia solamente una máquina, así que sin pensarlo descargue VirtualBox, pero existía un inconveniente, estaba utilizando el Kernel de Linux 2.6.28.3, compilado a mano por mi, no hace demasiado tiempo.
Entonces pensé en descargar VirtualBox desde los repositorios, pero, al instalar los módulos de VBox OSE, no tenia sentido regresar versiones atrás en el kernel de Linux, únicamente para utilizar VirtualBox. Fui al directorio /usr/src, pero (siempre hay un pero), hacia unos días que había borrado las fuentes y no iba a poder compilar ni los headers del kernel, ni los los módulos de VirtualBox
No me quedo otra que ir a kernel.org y descargar las fuentes de un nuevo Kernel, esta vez 2.6.28.6.
Por otro lado, fui a la página de VirtualBox, y descargue este software en su versión 2.4.1 para Linux, aquí se presentan una cantidad de paquetes binarios precompilados, pero yo baje un paquete “All Distributions”, el cual viene en un paquete .run.
Una vez que hemos terminado de descargar el Kernel, procedí al proceso de compilación ¿como?¿how to?, así bien fácil:
Instalando el nuevo núcleo:
Primero que nada, hay que mover el archivo linux-2.6.28.6.tar.bz2 a /usr/src y luego descomprimir las fuentes del núcleo que vienen empaquetadas en un archivo .tar.bz2
#: mv linux-2.6.28.6.tar.bz2 /usr/src
#: tar jxvf linux-2.6.28.6.tar.bz2
Una vez descomprimidas, tenemos que crear un enlace simbolico llamado linux que apunte a las fuentes.
#: ln -s /usr/src/linux-2.6.28.6 /usr/src/linux
#: cd linux
Bien, como yo ya habia compilado varias veces, tengo mi archivo config guardado, con el cual evito tener que reconfigurar el núcleo con cada compilación, proceso que ahorra la mayor parte de la complejidad que supone compilar un kernel.
Copiamos el antiguo config dentro del directorio de las fuentes.
#: cp /boot/config-2.6.28.3 /usr/src/linux-2.6.28.6/.config
Una vez hecho esto, procedemos a comenzar con la compilación restaurando las configuración del archivo config que acabamos de copiar.
#: make oldconfig
Si el kernel que estamos compilando, presenta nuevos “features” con respecto a la configuración que poseemos, este nos preguntara sobre si deseamos compilar soporte también para estas nuevas características, solamente debemos responder las preguntas que este nos hace.
Ahora pasaremos al proceso de compilación propiamente dicho:
#: make && make install
Proceso de compilación
Podemos salir a tomar un café, a hacer un poco de ejercicio o ir de compras, pues esto tardara bastante tiempo, en mayor o menor medida dependiendo de la capacidad de procesamiento de nuestro hardware.
Una vez que esto termine, hacemos:
#: make install_modules
#: mkinitramfs -o /boot/initrd.img-2.6.28.6 2.6.28.6
Listo, ya esta casí todo hecho respecto a la compilación del núcleo, pasaremos ahora a agregar la respectiva entrada en el Grub.
Podemos hacerlo de dos formas, una es haciendo un update-grub, o agregamos a mano la siguiente entrada, con nuestro editor de textos favorito (Vim rulez!), deberemos incorporar al archivo /boot/grub/menu.lst, algo como esto:
title Debian GNU/Linux, kernel 2.6.28.6
root (hd0,5)
kernel /boot/vmlinuz-2.6.28.6 root=/dev/sda6 ro quiet vga=792
initrd /boot/initrd.img-2.6.28.6
Instalando el Linux Headers:
VirtualBox, necesita tener instalado los headers del núcleo, para instalarlo el proceso es bien simple, utilizaremos un paquete llamado kernel-package, el cual trae un conjunto de utilidades para la construcción de núcleos en Debian.
Hacemos lo siguiente:
#: apt-get update && apt-get install kernel-package
Una vez que este se encuentre instalado hacemos lo siguiente:
#: make-kpkg --append-to-version -1.0 kernel_headers
Esto tardara un rato, y nos generara un paquete .deb con los headers, por lo cual, deberiamos poder instalarlo con dpkg:
#: dpkg -i linux-headers-2.6.28.6-1.0_2.6.28.6_i386.deb
Y listo, los headers ya se encuentran instalados.
Instalando VirtualBox:
Ahora debemos dirigirnos a donde hemos descargado VirtualBox, y allí hacemos:
#: chmod +x virtualBox-2.1.4-42893-Linux_x86.run
#: ./virtualBox-2.1.4-42893-Linux_x86.run
La instalación se realiza de manera automática, pero aún nos queda OSE-Modules, a los cuales debemos compilarlos.
Compilando OSE-Modules:
Si intentamos iniciar vboxdrv, nos encontraremos con un pequeño error, que dice:
#: /etc/init.d/vboxdrv
Starting VirtualBox kernel module …failed!
(No suitable module for running kernel found)
Si nos fijamos en el archivo /var/log/vbox-install.log encontraremos:
#: cat /var/log/vbox-install.log
Makefile:154: *** Error: /usr/src/linux (version 2.6.28.6-1.0) does not match the
current kernel (version 2.6.28.6). Alto.
Lo cual nos dice claramente que no encuentra las fuentes del núcleo. WTF???.
Tarte un rato en encontrar una solución, pero cuando la encontre, era mas facil de lo que parecia:
#: cd /lib/modules/2.6.28.6/source/
#: make oldconfig
#: make prepare
Ahora hacemos:
#: /etc/init.d/vboxdrv setup
#: /etc/init.d/vboxdrv start
Esperamos que se compilen los módulos, no suele demorar mucho y al terminar ya podemos iniciar VirtualBox normalmente.
VirtualBox con Damm Vulnerable Linux (DVL)
Yo ya estoy usando Damm Vulnerable Linux desde VBox. Un tip, ahora es muchísimo mas fácil configurar la red desde la máquina virtual utilizando NAT, (el proceso es casi automático).
Espero que les haya servido.
Comenten y dejen puntos!!!!

