sábado, 2 de junio de 2007

Instalacion Virtual Box

Este texto es sacado de otro blog, pero que me gusto mucho y funciona y es instalar La maquina virtual VirtualBox y luego instalar Windows para aquellos miticos programas que Ubuntu aun no resiste.

Vía Genbeta me entero de que está disponible VirtualBox, otro software de virtualización de código libre, disponible ahora mismo para usuarios de Windows y Linux.

Pese a que en estos momentos ya conviven en mi equipo Parallels y VMware Workstation (si bien es cierto que el primero de ellos apenas lo utilizo), no me he podido resistir a instalar también VirtualBox, para ver cómo se comporta...

Bajo Linux, VirtualBox dispone de paquetes listos para Debian y Ubuntu, pero los felices usuarios de Arch Linux también disponemos de dos paquetes para nuestra distribución en AUR, uno conteniendo el propio programa y otro los módulos del kernel. Tras satisfacer algunas dependencias previas, la compilación y posterior instalación de VirtualBox es coser y cantar, si bien un poco larga incluso en una máquina potente.

Una vez instalado, tecleas virtualbox y... Arghh!! ¡Instrucción Ilegal y un infame Segmentation Fault! Pues sí que empezamos bien:

Error inicial de Virtual Box

Bueno; el mensaje habla de que quizás el servidor no está en marcha. Quizás sea ésa la causa. Pero, ¿dónde se explica cómo echar a andar el servidor? En el manual de usuario (inglés, pdf) no lo encuentro a primera vista...

En vez de seguir buscando en el pdf me voy a la web de AUR, donde existe un script de aspecto prometedor. Lo llamaremos vbox.sh y su contenido será:

#!/bin/sh
cd /opt/virtualbox
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
xpcom_running=`ps aux|grep VBoxSVC|grep -v grep`
if test -z "$xpcom_running"; then
./VBoxSVC&
fi
./VirtualBox

Le damos permisos de ejecución (chmod +x vbox.sh) y ahora sí, al teclear ./vbox.sh, por fin arranca el programa:

Pantalla inicial de Virtual Box

Al pulsar sobre New se arranca el habitual Wizard, o asistente de creación de una máquina virtual:

El wizard de Virtual Box

Nada más empezar se nos presentan las opciones habituales:

Nueva maquina virtual en Virtual Box

Están predefinidas las máquinas para DOS, Windows (3.1 a Vista), OS/2 Warp (3, 4 y 4.5), Linux (2.2, 2.4 y 2.6), varios BSD (NetBSD, FreeBSD y OpenBSD), Netware, Solaris y L4.

Como parece que la primera entrega ha despertado bastante interés, retomo ahora el asunto justo donde lo dejé: en el momento de proceder a crear alguna máquina virtual.

En mi opinión no hubiera estado nada mal probar VirtualBox con Solaris (bastante pesado de virtualizar en VMware) o con el exótico L4, pero los lectores mandan, y a la vista del espontáneo interés suscitado por Windows Fundamentals for Legacy PCs (que alguien definió por aquí como un "XP capado") vamos a darle un tiento a tan curioso artilugio...

Editado (19-Ene, 23:20): Acabo de añadir al final del artículo cómo aumentar el tamaño y resolución de la pantalla del Windows virtual.

Siguiendo las instrucciones de la primera entrega, empezaremos a crear una máquina virtual de tipo "Windows XP". Aceptaremos la RAM propuesta:

Memoria RAM

Crearemos ahora la correspondiente imagen de disco virtual:

Nuevo disco virtual

A diferencia de VMware, VirtualBox no recomienda dar a este disco un tamaño fijo a priori, así que me inclino por uno cuyo tamaño vaya creciendo a medida que se necesita:

Disco dinamico

Damos un nombre obvio a nuestro disco virtual y aceptamos el tamaño por defecto:

Nombre y tamaño del disco virtual

De acuerdo. Aceptamos la propuesta:

Resumen del disco virtual

Seleccionamos como disco de arranque el que acabamos de crear:

Elegir disco de arranque

Si no estás conforme con el resumen, es tu última oportunidad para cambiar algo:

Resumen para confirmar

Vale; tu nueva máquina virtual (o más bien, su receptáculo virtual) tiene estas características:

Caracteristicas nueva maquina

Algunas cosas no te convencerán, pero resulta fácil cambiarlas:

Configuracion general

Por ejemplo, para tener desde dónde instalar hay que montar la unidad de CD o una imagen ISO:

Habilitar CD o Imagen ISO

Tampoco estaría mal activar el sonido:

Activar sonido

En la configuración de red me llaman la atención dos cosas: la ausencia de una opción bridged y la posibilidad de generar una MAC aleatoria para el adaptador de red:

Configurar Red

Cuando todo esté a nuestro gusto procedemos a arrancar la máquina, para comenzar la instalación del sistema. Pero no va a resultar tan fácil:

Fallo!

Parece que el driver o módulo necesario no está aún cargado en el kernel. Y basta un lsmod para comprobarlo. Vale; pues carguemos el módulo (como root):

# modprobe vboxdrv

Pero tampoco esto es suficiente:

Fallo!

Ahora se trata de un problema de permisos. Lo solucionamos así:

chown usuario:wheel /dev/vboxdrv

donde usuario has de cambiarlo por tu propio nombre de usuario.

Pero, ¿hay que usar estos dos comandos cada vez que se quiere usar VirtualBox?. Eso sería un latazo, así que mejor crear un script (fuente AUR) que se ejecute en el arranque. En el caso de Arch, basta colocar el script en /etc/rc.d y añadir su nombre a la lista de modulos de /etc/rc.conf:

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
start)
stat_busy "Starting VirtualBox"
# VirtualBox module
/sbin/modprobe vboxdrv || exit 1
# change group of /dev/vboxdrv
chown :wheel /dev/vboxdrv || exit 1
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon virtualbox
stat_done
fi
;;
stop)
stat_busy "Stopping VirtualBox"
killall -q VBoxSVC || exit 1
rmmod vboxdrv || exit 1
if [ $? -gt 0 ]; then
stat_fail
else
stat_done
rm_daemon virtualbox
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac

Ahora sí logramos arrancar, si bien hay que prestar atención a este mensaje:

Captura del teclado

Se nos avisa de que está activa la autocaptura del teclado, es decir, que la ventana virtual toma el foco, de modo que lo que teclees irá directamente a la máquina virtual, con lo que ratón y teclado dejan de funcionar sobre la máquina que hace de host (Linux, en nuestro caso). Se trata de una funcionalidad similar a la de Vmware y Parallels, pero que aquí se comporta de un modo un poco diferente, de forma que hasta que te aclaras puedes desesperarte bastante. Y es que en VirtualBox no vale pulsar Ctrl y Alt a la vez para saltar al host, sino que son otras las teclas y han de ser pulsadas consecutivamente, y no a la vez. Lo que yo hice de inmediato fue cambiar las teclas predefinidas a las dos que son comunes en VMware (mencionadas antes):

Modificar teclas de captura

Activa la casilla de autocaptura y sitúa el cursor sobre el recuadro Host Key. Pulsa ahora la tecla o teclas que quieras utilizar para cambiar de máquina virtual a host.

Ahora sí que todo va como la seda:

Arrancando

Arrancando

Arrancando

Ojo, que nadie se llame a engaño aquí, que un XP "capado" tampoco es un XP regalado. Mira si no cómo pide número de licencia (y también requerirá activación):

Licencia

La personalización de la instalación sí que es curiosa... ¿No habíamos quedado en que Explorer era inseparable de Windows?

Opciones de instalacion

Bueno; ya no hay marcha atrás:

Formateo

¿Preparado para varios reinicios? Afortunadamente sólo es la máquina virtual la que se reinicia...

Instalando

Instalando

Instalando

El proceso ha sido largo, pero cada vez estamos más cerca:

Login

Este es el aspecto de un Windows Fundamentals virtualizado en VirtualBox:

Windows Fundamantals

Y aquí va la imagen final, con Windows Fundamentals ejecutándose mediante VirtualBox en una máquina Linux:

Imagen de conjunto

Con Windows ya funcionando puedes utilizar el menú de VirtualBox (Devices -> Install Guest Additions) para instalar las herramientas que te permitirán aumentar la resolución de pantalla a 1024x768 o más si tu tarjeta y monitor te lo permiten:

Mayor resolucion

Mayor resolucion

Esto es todo. Lógicamente todas las pantallas de Windows son propiedad de Microsoft y se muestran sólo con fines didácticos. Quien quiera virtualizar Windows Fundamentals deberá adquirir una licencia a Microsoft, pero también se puede seguir un proceso similar para virtualizar cualquier Windows del que sea legal propietario.

Quien no quiera -o no pueda- pagar licencias a Microsoft, que virtualice Linux, Solaris o BSD y tan amigos.



Repositorios para sources.list

Aqui van mis repositorios:

# Paquetes de Ubuntu (GPG key: 437D05B5)
deb http://archive.ubuntu.com/ubuntu feisty main restricted
deb http://archive.ubuntu.com/ubuntu feisty-updates main restricted
deb http://archive.ubuntu.com/ubuntu feisty-security main restricted
deb http://archive.ubuntu.com/ubuntu feisty-proposed main restricted
deb-src http://archive.ubuntu.com/ubuntu feisty main restricted
deb-src http://archive.ubuntu.com/ubuntu feisty-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu feisty-security main restricted
deb-src http://archive.ubuntu.com/ubuntu feisty-proposed main restricted

# Paquetes de la comunidad de Ubuntu (GPG key: 437D05B5)
deb http://archive.ubuntu.com/ubuntu feisty universe multiverse
deb http://archive.ubuntu.com/ubuntu feisty-updates universe multiverse
deb http://archive.ubuntu.com/ubuntu feisty-security universe multiverse
deb http://archive.ubuntu.com/ubuntu feisty-proposed universe multiverse
deb-src http://archive.ubuntu.com/ubuntu feisty universe multiverse
deb-src http://archive.ubuntu.com/ubuntu feisty-updates universe multiverse
deb-src http://archive.ubuntu.com/ubuntu feisty-security universe multiverse
deb-src http://archive.ubuntu.com/ubuntu feisty-proposed universe multiverse

# Paquetes "backports" de Ubuntu (GPG key: 437D05B5)
deb http://archive.ubuntu.com/ubuntu feisty-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu feisty-backports main restricted universe multiverse

# Repositorios comeriales de Canonical (Alojados en los servidores de Canonical, no los de Ubuntu)
deb http://archive.canonical.com/ubuntu feisty-commercial main

# Paquete de Seveas packages (GPG key: 1135D466)
deb http://mirror.ubuntulinux.nl feisty-seveas all
deb-src http://mirror.ubuntulinux.nl feisty-seveas all

# Paquetes de wine
# deb http://wine.budgetdedicated.com/apt feisty main
# deb-src http://wine.budgetdedicated.com/apt feisty main

# Navegador Opera (GPG key: 6A423791)
deb http://deb.opera.com/opera etch non-free

# Algunos paquetes más
deb http://archive.czessi.net/ubuntu feisty main restricted universe multiverse preview
deb-src http://archive.czessi.net/ubuntu feisty main restricted universe multiverse preview

# Paquetes No-oficales para Kubuntu Feisty Fawn de Achim
deb http://www.mpe.mpg.de/~ach/kubuntu/feisty ./
deb-src http://www.mpe.mpg.de/~ach/kubuntu/feisty ./

# Ekiga y Debian pkg-voip
deb http://pkg-voip.buildserver.net/ubuntu feisty main

# repositorio de superml (mythtv y otros no-libres) (GPG key: 80DF6D58)
deb http://home.eng.iastate.edu/~superm1 feisty all
deb-src http://home.eng.iastate.edu/~superm1 feisty all

##Funciona los repositorios del Beryl pero a mi cuando se me actualiza el beryl deja de funcionarme correctamente por eso esta comentado##
# Paquetes oficiales de Beryl para Ubuntu (GPG key: 1609B551)
# deb http://ubuntu.beryl-project.org feisty main
# deb-src http://ubuntu.beryl-project.org feisty main

# Repositorio de Screenlets para Ubuntu (si no sabes que son los screenlets, en youtube.com hay unos videos)(GPG key: 619A3D4E)
deb http://hendrik.kaju.pri.ee/ubuntu feisty screenlets all
deb-src http://hendrik.kaju.pri.ee/ubuntu feisty screenlets all

# Paquetes de Easycam
deb http://blognux.free.fr/debian unstable main

# Audacious
deb http://vdlinux.sourceforge.jp/ experimental all
deb-src http://vdlinux.sourceforge.jp/ experimental all

# Repositorio para ubuntu de Geole
deb http://ubuntu.geole.info/ feisty universe multiverse

# Paquetes para Ubuntu Linux2Go (GPG key: E8BDA4E3)
deb http://www.linux2go.dk/ubuntu feisty main
deb-src http://www.linux2go.dk/ubuntu feisty main

# Paquetes de Tvfreeplayer (GPG key: 3C6489CB)
deb http://www.tvfreeplayer.com/linux/falcon feisty all mods vlc
deb-src http://www.tvfreeplayer.com/linux/falcon feisty all mods vlc

# gnomemeeting - ekiga (GPG key: 52ABFCB1)
deb http://snapshots.ekiga.net/ubuntu/ feisty main
deb-src http://snapshots.ekiga.net/ubuntu/ feisty main
deb http://snapshots.voxgratia.org/ubuntu/ feisty main
deb-src http://snapshots.voxgratia.org/ubuntu/ feisty main

# Repositorio de seb128 (gaim - rhythmbox)
deb http://people.ubuntu.com/~seb128/deb ./
deb-src http://people.ubuntu.com/~seb128/deb ./

# Repositorio Cafuego para Feisty: Broadcom firmware, google-earth, beagle (GPG key: 969F3F57)…
deb http://au.ubuntu.cafuego.net feisty-cafuego all
deb-src http://au.ubuntu.cafuego.net feisty-cafuego all
deb http://au.ubuntu.cafuego.net feisty-cafuego bcm43xx
deb-src http://au.ubuntu.cafuego.net feisty-cafuego bcm43xx
deb http://au.ubuntu.cafuego.net feisty-cafuego internode
deb-src http://au.ubuntu.cafuego.net feisty-cafuego internode
deb http://au.ubuntu.cafuego.net feisty-cafuego google
deb-src http://au.ubuntu.cafuego.net feisty-cafuego google
deb http://au.ubuntu.cafuego.net feisty-cafuego secondlife
deb-src http://au.ubuntu.cafuego.net feisty-cafuego

# Repositorio Mogoth (Monkey’s Audio, xmms pugins, vlc plugins, gqview, audacity…) (GPG key: 7E2E4741)
deb http://morgoth.free.fr/ubuntu feisty-backports main
deb-src http://morgoth.free.fr/ubuntu feisty-backports main

# Repositorio de Automatix (GPG key: E23C5FC3)
deb http://www.getautomatix.com/apt feisty main testing

# edevelop - e17 (Enlightenment DR 17)
deb http://edevelop.org/pkg-e/ubuntu feisty e17
deb-src http://edevelop.org/pkg-e/ubuntu feisty e17

# Musicbrainz
# deb http://ftp.musicbrainz.org/pub/musicbrainz/users/luks/ubuntu feisty musicbrainz
# deb-src http://ftp.musicbrainz.org/pub/musicbrainz/users/luks/ubuntu feisty musicbrainz

# Repositorio imbrandons (GPG key: 887D9FD2)
deb http://www.imbrandon.com/packages feisty all beryl
deb-src http://www.imbrandon.com/packages feisty all beryl

# Paquetes de Administrador del Sistema Ubuntu
deb http://ubuntu.moshen.de feisty multimedia misc eyecandy
deb-src http://ubuntu.moshen.de feisty multimedia misc eyecandy

# El repositorio del conocimiento (GPG key: DD385D79)
deb http://debs.peadrop.com feisty backports
deb-src http://debs.peadrop.com feisty backports

# Repositorio IVTV para Ubuntu (GPG key: 80DF6D58)
deb http://dl.ivtvdriver.org/ubuntu feisty all
deb-src http://dl.ivtvdriver.org/ubuntu feisty all

# Repositorio de Treviño para Feisty Fawn (GPG key: 81836EBF - DD800CD9)
# Para mas informacion: http://3v1n0.tuxfamily.org
deb http://download.tuxfamily.org/3v1deb feisty eyecandy suspend2
deb-src http://download.tuxfamily.org/3v1deb feisty eyecandy suspend2