sábado, 7 de enero de 2012

Otra vez VirtualBox

Como lo hago siempre luego de instalar un nuevo sistema operativo en mi máquina, me decidí a agregar el repositorio para que me funcione el YUM de mi Fedora 16 con VirtualBox, y así poder revivir mis máquinas virtuales.
Luego de la instalación del repo y de VirtualBox, en lo que no voy a ahondar porque no tendría sentido considerando que está más que claro en el mismo sitio virtualbox.org, me dispuse a instalar el tan querido Extension Pack de VirtualBox para tener RDP, USB, y algún que otro beneficio en las máquinas virtuales.
Pero la sorpresa no fue muy agradable cuando me encontré con el mensaje "Failed to install the Extension Pack The installer failed with exit code 127: The value for the SHELL variable was not found the /etc/shells file".
Más abajo menciona algo sobre que el incidente ya ha sido reportado.
Así que hurgando por la red me encontré con que en un sistema recientemente implementado se debe instalar, primero, todo el kit de compilación de kernel, y el dkms.
Allá vamos, ejecuté, como root:


# yum install dkms binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel

No fue tan terrible, sólo 28 MB de binarios debieron bajar a mi máquina. Entonces nuevamente fui a la carga haciendo doble click en el ícono correspondiente al Extension Pack. Pero nada, el mismo error de antes.
Mirando un poco el comando VBoxManage me encontré con un hermoso parámetro, justamente el "extpack". Efectivamente, era lo que estaba buscando.
No tuve más que ejecutar:

$ VBoxManage extpack install --replace /home/hecsa/Downloads/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack 
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (3.1.6-1.fc16.x86_64) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /etc/init.d/vboxdrv setup

         You will not be able to start VMs until this problem is fixed.
0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to install "/home/hecsa/Downloads/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack": The installer failed with exit code 127: The value for the SHELL variable was not found the /etc/shells file

VBoxManage: error: This incident has been reported.

Bueno, otra vez lo mismo, pero esta vez en modo texto.
Lo hice sencillo, confié en la lógica de los mensajes, y por ende de los programadores de este excelente producto, y me decidí a rebootear el sistema para poder tener el módulo compilado. Pero antes, me dije a mí mismo "no será que algún programador, quizá, no es tan brillante como mi cerebro opina, y se olvidó de verificar si quien lo ejecuta es root?", e hice lo mismo como ese usuario, y no como el mío, hecsa.
El resultado fue interesante:

# VBoxManage extpack install --replace /home/hecsa/Downloads/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (3.1.6-1.fc16.x86_64) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /etc/init.d/vboxdrv setup

         You will not be able to start VMs until this problem is fixed.
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Si bien me dispuse a rebootear mi maquinilla, me puse a pensar que los programadores se equivocaron en varias cosas:
- Se olvidaron de verificar si el usuario que ejecuta esto tiene permisos de root o no.
- Dicen que no se podrá levantar ninguna VM, pero no es así, dado que sí levantan, pero sin el Extension Pack, al menos hasta que rebootee. Pero luego del reboot, la gran sorpresa: las máquinas virtuales aún no levantaban el USB.
Bien, seguí las instrucciones de ejecutar:

# /etc/init.d/vboxdrv setup

...y luego volví a probar suerte...pero sin suerte. Los USB aún no se ven, y probaré volver a bootear para ver si ahora sí los levanta.
Luego del reboot, ejecuté de nuevo:


# VBoxManage extpack install --replace /home/hecsa/Downloads/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Wow! Sin erorres! Pero nada es tan bello, el sistema sigue sin reconocer el subsistema USB.
La frustración no tiene límites...qué quieren que les diga...esto con Sun no pasaba...

[ACTUALIZACIÓN - GRACIAS SALVA!!!]
No olviden agregar Vuestro usuario al grupo vboxusers, de esa forma al reloguearse todo vuelve a estar en su lugar, y el error desaparece.

4 comentarios:

Salva dijo...

Hola, tengo exactamente el mismo problema que tu comentas y tb Fedora16 ¿alguna sugerencia?¿Lo conseguiste arreglar?

Salva dijo...

yo he conseguido que no me salga error haciendo:

sudo yum reinstall bash

Pero ahora no se monta el usb y me da este error:


Código Resultado:

NS_ERROR_FAILURE (0x00004005)
Componente:
Host
Interfaz:
IHost {dab4a2b8-c735-4f08-94fc-9bec84182e2f}

Salva dijo...

Bueno esto parece un monologo, pero esto me ha casi funcionado!

su -c 'gpasswd -a usuario vboxusers'

Con este comando añades tu usuario y por lo menos lo detecta...

HeCSa dijo...

Hola Salva!
Muy bueno lo tuyo!!!
Tenía el mismo error:
Result Code: NS_ERROR_FAILURE (0x00004005)
Component: Host
Interface IHost {dab4a2b8-c735-4f08-94fc-9bec84182e2f}
Callee: IMachine
{5eaa9319-62fc-4b0a-843c-0cb1940f8a91}

Es increible, pero creo que una y mil veces me ha pasado lo mismo, sólo necesitaba que me lo indiques.
Si estuvieras cerca, te invito una pizza con cerveza. Muchas gracias, lo hice y desapareció el error!!!!
Salutte!