martes, 14 de octubre de 2008

Instalar VirtualBox en Ubuntu o debian y configurar USB y resolución de pantalla




Uno de los medios cada día más extendidos para realizar pruebas de instalación, permitir la coexistencia de varios servidores en una única máquina física ,con el consiguiente ahorro de costes, o como es mi caso para posibilitar la docencia de distintos equipos y sistemas sobre un único equipo ordenador, es la virtualización -léase uso de máquinas virtuales-.

Existe diverso software para permitir dichas tareas en sistemas Windows y Linux, que sean compatibles con ambos sistemas y con ciertas garantías básicamente VirtualBox (de Sun), Vmware y Parallels. La última, hasta ahora, es el único que permite compartir la tarjeta gráfica con el equipo, de modo que nos permite emplear la aceleración 3d que ésta aporta. Por lo demás, están disponibles en versiones para Windows y Linux.

Las razones por las que hemos escogido VirtualBox -pese a ser anteriormente usuarios de Vmware- son básicamente que es software libre y totalmente gratis. Es cierto que VMware dispone también de dos programas gratuitos: Vmware Server y Vmware Player - este último, permite la ejecución de máquinas virtuales, previamente creadas- pero el equivalente a VirtualBox que, sería la versión Workstation y que permite la creación de distintas máquinas y su uso, require el pago de licencia de uso.

Así las cosas nos hemos decantado por VirtualBox, es por ello por lo que después de detectar y creo que resolver los problemas que hemos tenido en dicha tarea me he decidido a crear este manual (es más que probable que el año que viene tenga que tirar nuevamente de él si siguen sin resolverse un par de problemillas).

Este manual cubre la instalación y configuración de un equipo "virtual" con ubuntu en otro "anfitrión" (el sistema operativo de la máquina física) también basado en Ubuntu o Debian. Para la realización de este manual he empleado Ubuntu 8.04 y la versión 2.0.2 de Virtual Box.

Requisitos:
-Un equipo con Ubuntu 8.04 instalado
- Un fichero con la imagen iso de Ubuntu 8.04 o posterior

INSTALACIÓN DE VIRTUALBOX.

El proceso de instalación es bastante sencillo:

  1. Descargamos el paquete de instalación de VirtualBox de la página del proyecto, seleccionando la versión de 32 o 64 bits, según el sistema operativo que tengamos instalado en nuestro equipo.
  2. Abrimos el paquete previamente descargado y hacemos doble click sobre él, o abrimos GDebi e instalamos el paquete.
INSTALACIÓN DE UBUNTU EN VIRTUALBOX
  1. Le damos un nombre a la máquina para que cuando tengamos varios sistemas instalados, podamos diferenciarlos. En mi caso ubuntu y seleccionamos el tipo de sistema operativo que vamos a instalar: Ubuntu.
  2. Seleccionamos la cantidad de Ram de nuestro equipo que vamos a reservar para la máquina virtual. 512 MB en mi caso.
  3. Vamos a crear un Nuevo Disco duro "virtual" (si no disponemos de una instalación previa), para ello pulsamos en "Nuevo". Y pulsamos siguiente cuando nos aparece el cuadro de diálogo indicando que va a iniciarse el asistente de instalación de disco duro.
  4. Seleccionamos el tipo de disco duro "Imagen de Expansión Dinámica", de modo que cuando instalamos el sistema virtual se creará un fichero que va aumentando de tamaño según le sistema que estamos instalando vaya necesitando más espacio en su disco duro, hasta ocupar como máximo el tamaño que asignaremos en la siguiente ventana. Si escogiéramos la opción "Imagen de Tamaño Fijo", se reservaría ya en ese momento todo el tamaño mediante la creación de un fichero que ocupe dicho espacio, proceso que además es más lento.
  5. Seleccionamos la ubicación del fichero y el tamaño máximo que podrá tener (sería el equivalente al tamaño de disco en una máquina "física").
  6. Pulsamos Finalizar y siguiente en los dos cuadros que nos aparecen a continuación.
  7. Pulsamos Finalizar en el Cuadro diálogo Resumen.
  8. En la ventana de la aplicación pulsamos en el enlace CD/DVD ya que aquí deberemos indicarle dónde hemos guardado el fichero ISO, a partir del cuál vamos a instalar el sistema operativo de la máquina virtual -también podemos decidir instalarlo desde nuestro soporte de CD/DVD real.
  9. En el cuadro que aparece seleccionamos "Montar la unidad de CD/DVD" y -si queremos realizar la instalación desde el fichero ISO- "Archivo de imagen ISO"; pulsamos en el icono con forma de carpeta y buscamos la ubicación dónde hemos guardado el fichero. Cuando arranquemos intentará instalarlo desde este fichero como si de un CD real se tratase -sólo que mucho más rápido.
  10. Pulsamos en el botón con forma de flecha verde "iniciar" con lo que se iniciará el proceso de instalación normal de Ubuntu, que deberemos concluir.
  11. Una vez finalizado nos pedirá que retiremos el CD y pulsemos Intro, para ello pulsamos con el botón derecho del ratón en el icono con forma de CD situado en la esquina inferior derecha de la ventana y seleccionamos desmontar CD/DVD Rom.
CONFIGURACIÓN DE LA RESOLUCIÓN DE PANTALLA
  1. La resolución por defecto será de 800x600 en la máquina virtual, para modificarlo pulsamos en la opción Dispositivos -- "Instalar Guest Additions (Aplicaciones del Huesped).
  2. Cuando lo hagamos se montará un CD con varios ficheros para windows y para linux. Abrimos una consola y ejecutamos:
  • $ su
  • # cd /media/cdrom
  • # sh VirtualBox__fichero de 36 o 64 bits_dependiendo denuestrosistema.run
3. Nos pedirá que reiniciemos el equipo virtual. A partir de ahora, cuando pulsemos sobre la máquina virtual el ratón no quedará capturado (se liberará simplemente moviéndolo fuera de la ventana), y la resolución del sistema virtual se ajustará de modo automático al tamaño de la ventana que lo contenga, cada vez que la variemos. Si deseamos verlo a pantalla completa pulsaremos ctrl dcho + F - y lo mismo para revertir su estado.

CONFIGURACIÓN DE USB EN VIRTUALBOX Y UBUNTU O DEBIAN.

Es bastante probable que cuando intentes usar tu dispositivo USB en la máquina virtual te de un error "USB Host Proxy Server ..." (o algo parecido) y no te detecte los dispositivos USB (p.e. los pendrives) para solucionarlo sigue los siguientes pasos:

Ahora añadimos nuestro usuario al grubo “vboxusers”:

$ sudo adduser $USER vboxusers
Adding user `jose’ to group `vboxusers’ …
Adding user jose to group vboxusers
Done.

- Ahora habilitamos el soporte USB para VirtualBox.
Por defecto USB esta deshabilitado. Seguramente quieras habilitarlo y evitar
un error que aparece al entrar en la Configuracion de nuestra maquina virtual.
Para habilitar USB edita el archivo mountdevsubfs.sh:

$ sudo gedit /etc/init.d/mountdevsubfs.sh

Veras un bloque de codigo con un aspecto similar a este:

#
# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount –rbind /dev/bus/usb /proc/bus/usb

Ahora descomenta las 4 ultimas lineas, debe quedar como:

#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount –rbind /dev/bus/usb /proc/bus/usb

Ahora debemos reiniciar el equipo. y volvemos a iniciar una sesión
para que los cambios que hemos hecho sobre nuestro usuario añadiendolo al
grupo vboxusers se hagan efectivos.

Si de todas formas los pasos anteriores no funcionan, y el usb no se
habilita, puedes intentar lo siguiente.

- obten el identificador el grupo vboxusers

$ grep vbox /etc/group
vboxusers:x:124:jose

Aqui en nuestro caso seria el valor 124.

Ahora editamos el fichero fstab y añadimos el valor de ese id.

sudo gedit /etc/fstab

## usbfs is the USB group in fstab file:
none /proc/bus/usb usbfs devgid=124,devmode=664 0 0



Hacemos lo mismo con el fichero mountdevsubfs.sh

$ sudo gedit /etc/init.d/mountdevsubfs.sh

## Mount the usbfs for use with Virtual Box
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=124,devmode=664

Lo dejamos:

#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
#domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644

## Mount the usbfs for use with Virtual Box
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=124,devmode=664

ln -s .usbfs/devices /dev/bus/usb/devices
mount –rbind /dev/bus/usb /proc/bus/usb

Ahora reiniciamos, y virtualbox deberia detectar nuestros dispositivos usb.


Si quieres ver las restantes opciones de configuración y cómo resolver algunos de los problemas típicos de cualquier instalación puede ver el siguiente artículo sobre la instalación y configuración de VirtualBox


Fuentes:

Página del proyecto: http://www.virtualbox.org

Configuración del USB: http://www.arsgeek.com/2007/10/24/get-usb-devices-mounted-on-your-virtualbox-xp-machine-in-gutsy-ubuntu-710/

Configuración del usb: http://ubuntulife.wordpress.com/2008/04/30/como-instalar-virtualbox-en-ubuntu-804-hardy-heron-con-soporte-de-usb-en-5-sencillos-pasos/

2 comentarios:

Rodrigo Delgado Canaría dijo...

Muchas gracias por el tutorial me ha sido de mucha utilidad y lo referenciaré para otras personas, solo queria comentarte que no me dejo instalar debian a 64bit no se porque me salia que tenia que estar con el kernel apropiado... estoy instalando Debian a 32bit y esta corriendo perfecto hasta ahora... uso ubuntu como sistema principal y queria probar Debian que me lo han recomendado por su rápidez.

Nuevamente muchas gracias

Jose dijo...

Muy buen tutorial, bastante claro y bien redactado.
Gracias.