VirtualBox en Ubuntu 8.10 y 9.04 alpha 5

+1
0
-1

Para que funcionen los USB dentro de su programa virtualizado, hay que instalar la versión "no libre" que ofrece Virtualbox en su página http://www.virtualbox.org/wiki/Downloads
Ahí podemos encontrar en archivo .deb para Ubuntu de 32 y 64 bits.
He probado los 2 y funcionan muy bien.
Una vez bajado el archivo a nuestro disco duro, ejecutarlo con un doble click; nos pide el password y más adelante nos hace varias preguntas, a las que hay que responder que SI o ADELANTE.
Una vez que ha terminado la instalación si queremos ejecutarlo nos va a salir un mensaje de que no somos miembros del grupo de usuarios de Virtualboc.
Para convertirnos en miembros del grupo podemos hacer dos cosas:

  • ejecutar en consola el siguiente comando: sudo gpasswd -a nombre_de_tu_cuenta vboxusers
    donde nombre_de_tu_cuenta es el nombre que utilizas para entrar a Ubuntu.
    La otra opción es:
  • Entrar en Sistema > Administración > Grupos y Usuarios > desbloquearlo (Unlock) > Manejo de grupos > buscar vboxusers > propiedades y ahí colocar una marca sobre nuestro nombre > cerrar todo.

Prefiero la primera opción.
Hay que reiniciar el equipo para que active el programa de VirtualBox.

Para activar los USB: (publicado por Mauricio J. Adonis C.)

1) Ejecutar en consola...

$ grep vbox /etc/group

... esto dará el identificador del grupo vboxusers (necesario al modificar mountkernfs.sh)...

vboxusers:x:125:

... en tu caso pudiera ser diferente.

2) Abrir archivo mountkernfs.sh...

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

... Ubica la línea ...

domount proc "" /proc proc -onodev,noexec,nosuid

... debajo de ésta agrega la siguiente línea...

domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=125,devmode=664

... el valor que subrayé es el gid del paso anterior. Guardas los cambios.

3) Modificar fstab...

$ sudo gedit /etc/fstab

... agregando al final las siguientes líneas

#usbfs
none /proc/bus/usb usbfs devgid=46,devmode=664 0 0

... guardas, reinicias y listo, ya puedes agregar dispositivos USB en VBox.

Reiniciamos el equipo y ya esta listo.

Una vez que montes tu WinXP virtualizado (en mi caso) hay que instalar el paquete VirtualBox Addons.

Comentarios

Imagen de rdeluis

Magnífico tutorial.

En Ubuntu 8.04 hay que editar el archivo  etc/udev/rules.d/40-basic-permissions.rules en lugar del etc/udev/rules.d/40-permissions.rules

Por lo demás es igual, y ya funciona el Virtualbox con los usb perfectamente.

Imagen de pediatracancun

Gracias por el comentario, unicamente hay que agregar una diagonal para poder abrir el archivo:  etc/udev/rules.d/40-basic-permissions.rules debe ser: /etc/udev/rules.d/40-basic-permissions.rules

 Como no sabía acerca de este cambio, cuando edite el archivo anterior /etc/udev/rules.d/40-permissions.rules, encontre que no existia

SUBSYSTEM=="usb_device",        MODE="0664"

sino: SUBSYSTEM=="usb_device", GOTO="usb_serial_start"

 asi que modifique la línea, dejándola de esta manera:

SUBSYSTEM=="usb_device", MODE="0666", GOTO="usb_serial_start"

Para sorpresa mia, funciono.

Nota: ya no es necesario (en Virtualbox 1.5.6 y Ubuntu 8.04) dar la instrucción como sudo que aparece al principio de este tutorial:

sudo su
VBOX=$(grep vboxusers /etc/group | sed 's/vboxusers:x:\(.*\):.*/\1/')
mount -t usbfs -o devgid=$VBOX,devmode=664,nodev,noexec,nosuid none /proc/bus/usb

 Los USB funcionan muy bien.

Imagen de ferfactor

Hola campeón, sabes tengo una pregunta, no me aparece la opción de USB dentro del archivo que comentas el 40-permissions.rules lo he buscado cada línea ni con palabras clave me sale....
Bueno espero que me ayudes he aquí el archivo que me sale muchas gracias....

# This file establishes permissions and ownership of devices according
# to Ubuntu policy. See udev(7) for syntax.
#
# The names of the devices must not be set here, but in 20-names.rules;
# user-friendly symlinks (which need no permissions or ownership) should
# be set in 60-symlinks.rules.

# Block devices
SUBSYSTEM!="block", GOTO="block_end"
ATTRS{removable}!="1", GROUP="disk"
ATTRS{removable}=="1", GROUP="floppy"
SUBSYSTEMS=="usb", GROUP="plugdev"
SUBSYSTEMS=="ieee1394", GROUP="plugdev"
SUBSYSTEMS=="mmc", GROUP="plugdev"
SUBSYSTEMS=="pcmcia", GROUP="plugdev"
LABEL="block_end"

# IDE devices
ENV{ID_CDROM}=="?*", GROUP="cdrom"
KERNEL=="ht[0-9]*", GROUP="tape"
KERNEL=="nht[0-9]*", GROUP="tape"

# IEEE1394 (firewire) devices
# Please note that raw1394 gives unrestricted, raw access to every single
# device on the bus and those devices may do anything as root on your system.
# Yes, I know it also happens to be the only way to rewind your video camera,
# but it's not going to be group "video", okay?
KERNEL=="raw1394", GROUP="disk"
KERNEL=="dv1394*", GROUP="video"
KERNEL=="video1394*", GROUP="video"

# Packet CD devices, group under /dev/pktcdvd
KERNEL=="pktcdvd", MODE="0644"
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"

# Printers and Parallel devices
SUBSYSTEM=="printer", GROUP="lp"
SUBSYSTEM=="ppdev", GROUP="lp"
SUBSYSTEM=="usb", KERNEL=="lp[0-9]*", GROUP="lp"
KERNEL=="pt[0-9]*", GROUP="tape"
KERNEL=="pht[0-9]*", GROUP="tape"

# SCSI devices
SUBSYSTEMS=="scsi", GOTO="scsi_start"
GOTO="scsi_end"
LABEL="scsi_start"
ATTRS{type}=="0", GROUP="disk"
ATTRS{type}=="1", GROUP="tape"
ATTRS{type}=="4", GROUP="cdrom"
ATTRS{type}=="5", GROUP="cdrom"
ATTRS{type}=="6", GROUP="scanner"
ATTRS{type}=="8", GROUP="tape"
ATTRS{type}=="3", ATTRS{vendor}=="HP", GROUP="scanner"
ATTRS{type}=="3", ATTRS{vendor}=="Epson", GROUP="scanner"
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", GROUP="scanner"
LABEL="scsi_end"

# Serial devices
SUBSYSTEM=="tty", GROUP="dialout"
SUBSYSTEM=="capi", GROUP="dialout"
SUBSYSTEM=="slamr", GROUP="dialout"
SUBSYSTEM=="zaptel", GROUP="dialout"
KERNEL=="ttyLTM[0-9]*", GROUP="dialout", MODE="0660"

# USB serial converters
SUBSYSTEM=="usb_device", GOTO="usb_serial_start"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GOTO="usb_serial_start"
GOTO="usb_serial_end"
LABEL="usb_serial_start"
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", \
MODE="0660", GROUP="dialout"
LABEL="usb_serial_end"

# Sound devices
SUBSYSTEM=="sound", GROUP="audio"

# pty devices
SUBSYSTEM=="tty", KERNEL=="pty*", GROUP="tty", MODE="0666"

# Video devices
SUBSYSTEM=="drm", GROUP="video"
SUBSYSTEM=="dvb", GROUP="video"
SUBSYSTEM=="graphics", GROUP="video"
SUBSYSTEM=="video4linux", GROUP="video"
KERNEL=="agpgart", GROUP="video"
KERNEL=="nvidia*", GROUP="video"

# Other devices, by name
KERNEL=="mem", GROUP="kmem", MODE="0640"
KERNEL=="kmem", GROUP="kmem", MODE="0640"
KERNEL=="port", GROUP="kmem", MODE="0640"
KERNEL=="nvram", GROUP="nvram"
KERNEL=="rtc", GROUP="audio"
KERNEL=="js[0-9]*", GROUP="plugdev"

La gente cree que amar es sencillo sin embargo lo difícil es conseguir un objeto apropiado para amar y para ser amado por él.

La gente cree que amar es sencillo sin embargo lo difícil es conseguir un objeto apropiado para amar y para ser amado por él.

Imagen de rdeluis

Mira mi post anterior, unas líneas más arriba, a ver si es este el problema:
En Ubuntu 8.04 hay que editar el archivo etc/udev/rules.d/40-basic-permissions.rules en lugar del etc/udev/rules.d/40-permissions.rules

saludos,

Imagen de pediatracancun

Como comento hay dos opciones:
1 - la que nos envía redeluis: que consiste en editar el archivo /etc/udev/rules.d/40-basic-permissions.rules (recuerda poner la diagonal antes de etc) y hay modificar el mode "0664" por "0666". Esta es probablemente la opción correcta.

2 - la otra opción es en el archivo 40-permissions.rules que nos envías, busca:
# USB serial converters
SUBSYSTEM=="usb_device", GOTO="usb_serial_start"

y mofidicalo así: SUBSYSTEM=="usb_device", MODE="0666", GOTO="usb_serial_start"

También funciona. Sin embargo, la opcion de "redelius" es más acertada, ya que el archivo para dar permisos cambió en el Ubuntu 8.04.

Imagen de pediatracancun

21 agosto 2008:
Instale el Ubuntu Intrepid version alpha 3 (o4) y aunque aun tiene algunas cosas que corregir, funciona muy bien.
De inmediato instale el VirtualBox ultima version, que bajas desde http://www.virtualbox.org/wiki/Downloads
Funciona bien, pero tienes el problema de los USB que no los ve.
Hay que hacer lo siguiente:
sudo gedit /etc/init.d/mountdevsubfs.sh

si sigues el comentario inicial verás que no está la sección de Magic to make /proc/bus/usb work

lo que hice fue buscar esta línea:

domount devpts "" /dev/pts devpts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE

y abajo de ella pegar:

# 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
Guardar y cerrar.

Hay que hacer los otros pasos:
Editar: $ sudo gpasswd -a nombre_de_tu_cuenta vboxusers
Esto es para agregar nuestro nombre de usuario a la cuenta de los que pueden usar el VirtualBox

Hay que editar el archivo: sudo gedit /etc/udev/rules.d/40-basic-permissions.rules
# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="vboxusers"
SUBSYSTEM=="usb_device", MODE="0664", GROUP="vboxusers"

Ahora sí ya funcionarán los USB en la máquina virtual.
Recuerda que una vez instalada la máquina virtual, aun cuando la hayas copiado, tienes que reinstalar los Virtual Addons.

----
22 agosto 08:
Hoy a pesar de los pasos anteriores, al arrancar VirtualBox + WinXP, no detecta los USB en Windows. Reviso que los archivos "/etc/udev/rules.d/40-basic-permissions.rules" y "/etc/init.d/mountdevsubfs.sh" no hayan cambiado, en consola hago lo siguiente:
sudo su

VBOX=$(grep vboxusers /etc/group | sed 's/vboxusers:x:\(.*\):.*/\1/')

mount -t usbfs -o devgid=$VBOX,devmode=664,nodev,noexec,nosuid none /proc/bus/usb

y con ello vuelvo a tener los USB, pero esto hay que hacerlo siempre antes de iniciar el VirtualBox.
Esperaré a que alguien ayude a solucionar este problema.