sábado, octubre 06, 2007

VirtualBox y los usb

Pues despues de leer un post en Debian Total sobre la instalación de VirtualBox y la creación de máquinas virtuales con este programa, he vuelto a jugar con él.

Parece que no va mal, pero no me funcionaban los usb.

De todas formas, me dice mi amigo Román que le aclare con pelos y señales como se hace lo de VirtualBox:

1. Debemos añadir a nuestro nombre de usuario al grupo "vboxusers".
$ sudo gpasswd -a nombreusuario vboxusers

2. Para poder utilizar los puertos USB en la máquina virtual, vamos a crear un grupo al que llamaré "usbusers" y le asignaré el GID 1100. Después habrá que agregar nuestro usuario a éste grupo.

$ sudo addgroup --gid 1100 usbusers
y el bicho dira Adding group `usbusers' (GID 1100) ...
Hecho.

3. Añadimos al usuario al grupo usbusers
$ sudo gpasswd -a nombreusuario usbusers

Y luego hay que realizar la siguiente correccion. Se trata de crear un grupo para los dispositivos USB con los permisos necesarios, para ello se crear un nuevo grupo al cual se le asigna una gid que luego se utilizara y agregar a ese grupo el usuario o usuarios desde los cuales se ejecutara Virtual Box.
Luego solo queda modificar el archivo /etc/fstab y añadir la siguiente linea:

$ sudo gedit /etc/fstab

# 1100 es el gid del grupo USB
none /proc/bus/usb usbfs devgid=1100,devmode=666 0 0

Con estas modificaciones realizadas reiniciamos la maquina virtual y comprobamos como los dispositivos ya son reconocidos por la máquina virtual.

Otra forma de que funcionen los USB, con Ubuntu 8.04 y SunVirtualBox 1.6:
Primero instalamos paquetes necesarios y los headers del kernel para compilar el módulo de Virtualbox, para ello (y para no perder la costumbre) vamos a consola:
$ sudo apt-get install build-essential linux-headers-`uname -r`
bajamos de virtualbox.org el paquete binario que corresponda a nuestra versión de Ubuntu, terminada la descarga lo ejecutamos e instalamos.
Agregamos nuestro usuario al grupo vboxusers:
$ sudo adduser luis vboxusers
Habilitamos el soporte para dispositivos USB:
sudo gedit /etc/init.d/mountdevsubfs.sh
buscamos esta sección en el archivo de texto y desde la línea 42 hasta la 45 (las cuatro últimas) borramos el signo “#”:

# 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

Reinciamos la sesión y podemos ejecutar Virtualbox con soporte a dispositivos USB…

Solo con la version 1.5 (solucionado con la version 1.5.2). Si en Ubuntu no funciona porque da un error acerca del modulo kvm y kvm-intel, comprobamos que este modulo esta instalado,
#lsmod |grep kvm
lo quitamos temporalmente con:
#modprobe -r kvm-intel
#modprobe -r kvm
o lo quitamos del kernel para siempre con modconf.
Ejecutamos como root
# modconf
nos vamos a kernel/drivers/kvm y quitamos el módulo kvm-intel y se quita también el módulo kvm.

Volvemos a arrancar VirtualBox y ya funciona.

Última actualización para para Debian Lenny. 14 de enero 2009.
Editamos el fichero /etc/init.d/mountkernfs.sh
Buscamos la linea que ponga algo así:

domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid

Y la dejamos así:

domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid,devmode=666

La opción de montaje devmode=666 es para que todos los usuarios puedan acceder al montaje de los USB.
Ahora solo falta reiniciar para que se vuelvan a montar los USB al inicio, pero esta vez como queremos, con permisos para manejar USB para VirtualBox. Sacado de aqui

No hay comentarios: