ForoSUSE

ForoSUSE (http://www.forosuse.org/forosuse/index.php)
-   Virtualización (http://www.forosuse.org/forosuse/forumdisplay.php?f=33)
-   -   Howto recompilar VirtualBox de Oracle cuando se actualiza el kernel (http://www.forosuse.org/forosuse/showthread.php?t=32282)

DiabloRojo 15-ene-2015 11:34

Howto recompilar VirtualBox de Oracle cuando se actualiza el kernel
 
Hola compañeros.

Este es una miniguía de como recompilar el modulo de VirtualBox de Oracle, OJO, cosa que no afecta al VirtualBox instalado desde los repositorios de openSUSE.

OJO. el siguiente mensaje os propone un truco: instalar dkms y activarlo para evitar posteriormente las recompilaciones.

Si te aparece el mensaje de abajo es que ha habido una actualizacion del kernel y VirtualBox necesita volver a compilarse.

http://www.forosuse.org/forosuse/att...1&d=1421236481


Para eso abres un terminal o consola, ejecutas el comando de abajo e la contraseña del superusuario root.
sudo /etc/init.d/vboxdrv setup

Si te aparecen errores durante la compilación, verificas que tengas instalados los paquetes -devel del kernel que estas utilizando en la sesión ahora mismo, mas el paquete kernel-devel pero TODOS esos paquetes tiene que ser de la MISMA versión que estas utilizando en la sesión (ahora mismo).

Como veras en las salidas de abajo de la ejecución de dos comandos, utilizo el kernel-desktop y tengo la misma versión instalada 3.11.10-25.1 y por ello VirtualBox de Oracle puede ser recompilado sin problemas. OJO. Se puede tener varios kernels instalados, pero lo importante es que también tengas instalado los paquetes que indico en el párrafo anterior, aunque ello te obligara a estar recompilado frecuentemente el kernel de VirtualBox de Oracle si cambias de kernel a arrancar tu computadora, pues para eso te aconsejo que uses el VirtualBox de openSUSE.
Código:

uname -r
3.11.10-25-desktop

zypper se -si kernel | grep `uname -r | cut -d "-" -f -2`
i | kernel-desktop      | paquete  | 3.11.10-25.1      | x86_64      | openSUSE-13.1-Update
i | kernel-desktop-devel | paquete  | 3.11.10-25.1      | x86_64      | openSUSE-13.1-Update
i | kernel-devel        | paquete  | 3.11.10-25.1      | noarch      | openSUSE-13.1-Update


DiabloRojo 15-ene-2015 11:39

TRUCO:
Instalar DKMS para evitar recompilar continuamente VirtualBox cuando cambias de kernel, sigue estos pasos:
  • Instalar dkms para que se pueda recompilar el módulo de VirtualBox:
    sudo zypper in dkms
  • Habilitar e iniciar el servicio de dkms:
    systemctl enable dkms
    systemctl start dkms
  • Recompila de nuevo VirtualBox:
    sudo /etc/init.d/vboxdrv setup
Listo, ya tenéis preparado VirtualBox para los kernels instalados y los sucesivos.

jcsl 15-ene-2015 13:05

Hola.

Cita:

Iniciado por DiabloRojo (Mensaje 182262)
Para eso abres un terminal o consola como superusuario root y ejecutas el comando
/etc/init.d/vboxdrv setup

O usas sudo, XD.
sudo /etc/init.d/vboxdrv setup
Cita:

Iniciado por DiabloRojo (Mensaje 182262)
Si te aparecen errores durante la compilacion, verificas que tengas instalados los paquetes -devel del kernel que estas utilizando en la sesión ahora mismo, mas los paquetes kernel-devel y kernel-source pero TODOS esos paquetes tiene que ser de la MISMA versión que estas utilizando en la sesión (ahora mismo).

Me parece que kernel-source ya no hace falta para compilar módulos, basta con el kernel-devel. Al menos yo no lo tengo instalado y puedo compilar el módulo cuanto toca. Así te ahorras más de 400 MB. El compilador y make no sé si se instalan como dependencias al instalar kernel-devel o hay que seleccionarlos para su instalación aparte. Habría que ver si instalando el paquete dkms se recompila solo en cada actualización, creo que sí pero como no lo he probado...

Un saludo.

DiabloRojo 15-ene-2015 19:12

Gracias jcsl :aplausos:

Acabo de comprobar tus aportaciones y, efectivamente, no es necesario el kernel-source para recompilar VB. Modificado el 1er. mensaje para reflejarlo.

Otra cosa, he instalado dkms y cuando se actualice el kernel, comprobare si no es necesaria la recompilacion. :dedosarri

jcsl 15-ene-2015 21:12

Hola.

Pues para no tener que esperar a una actualización del kernel, he hecho una prueba en VirtualBox y dkms funciona. Para que quede claro describo todo el proceso. Como hay que escribir varios comandos como superusuario se empieza por iniciar sesión como root. Luego se siguen estos pasos:
  • Añadir el repositorio Packman porque además de los codec también ofrece dkms.
  • Instalar los paquetes necesarios para que se pueda compilar el módulo de VirtualBox:
    zypper in dkms libpng12-0 gcc gcc-c++ make yasm kernel-syms
    make parece que se instala por defecto, pero lo añado por si acaso.
  • Instalar VirtualBox con zypper in -r virtualbox virtualbox-4.3
  • Habilitar e iniciar el servicio de dkms:
    systemctl enable dkms
    systemctl start dkms
    Esto se me olvidó al principio y pensé que dkms no funcionaba, XD.
Y listo. Todo esto instala los paquetes dkms, kernel-desktop-devel, kernel-devel, kernel-syms, kernel-macros, libpng12-0, gcc, gcc48, gcc48-c++, gcc-c++, glibc-devel, libasan0, libatomic1, libitm1, libstdc++48-devel, libtsan0, linux-glibc-devel, yasm, virtualbox-4.3 y quizás alguno más que se me haya olvidado apuntar.

Lo que no tengo claro es cuándo hace su trabajo dkms. Tras instalar el kernel nuevo y reiniciar fallaba VirtualBox, pero un poco después ya funcionaba...

Un saludo.

DiabloRojo 16-ene-2015 10:01

Cita:

Iniciado por jcsl
Y listo. Todo esto instala los paquetes dkms, kernel-desktop-devel, kernel-devel, kernel-syms, kernel-macros, libpng12-0, gcc, gcc48, gcc48-c++, gcc-c++, glibc-devel, libasan0, libatomic1, libitm1, libstdc++48-devel, libtsan0, linux-glibc-devel, yasm, virtualbox-4.3 y quizás alguno más que se me haya olvidado apuntar.

¡Uh! :scratchch Muchos paquetes me parece, el kernel-syms no lo tengo instalado.

Luego compruebo todo el listado de paquetes para ver si alguno no lo tengo. Y verificare que este ejecutando dkms.

Gracias por tu aportacion.

mikrios 17-ene-2015 17:31

Hola:

Cita:

Habilitar e iniciar el servicio de dkms:

systemctl enable dkms
systemctl start dkms
Ese paso lo había hecho desde Yast en administrador de servicios .

Creo que tienes que tener una carpeta dkms , y ahí creo que debes tener los núcleos del kernel en uso.

Ejecuta dkms status desde consola en modo super usuario (si no tienes un núcleo del kernel de dkms de virtualbox, no debería aparecer nada; si lo tienes creo que debe mostrar los que hay ) .

Saludos cordiales

DiabloRojo 18-ene-2015 17:57

Modificada la guía para activa dkms. :adios:

mikrios 19-sep-2015 05:12

Hola :

la dirección del repo, ha cambiado.

Ya no es :

Cita:

donde http://download.virtualbox.org/virtu...irtualbox.repo es la dirección que copié.
La url a añadir es esta :

Código:

X79-PRO:~ # zypper lr -u
#  | Alias                          | Name                          | Enabled | Refresh | URI                                                                           
---+--------------------------------+--------------------------------+---------+---------+--------------------------------------------------------------------------------
 1 | Education/openSUSE_Tumbleweed  | Education/openSUSE_Tumbleweed  | Yes    | Yes    | http://download.opensuse.org/repositories/Education/openSUSE_Tumbleweed/     
 2 | KDE:/Extra                    | KDE:/Extra                    | Yes    | Yes    | http://download.opensuse.org/repositories/KDE:/Extra/openSUSE_Tumbleweed/     
 3 | Kernel:/stable/standard        | Kernel:/stable/standard        | Yes    | Yes    | http://download.opensuse.org/repositories/Kernel:/stable/standard/           
 4 | Packman-mirror-germany        | Packman-mirror-germany        | Yes    | Yes    | http://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/                           
 5 | Printing/openSUSE_Tumbleweed  | Printing/openSUSE_Tumbleweed  | Yes    | Yes    | http://download.opensuse.org/repositories/Printing/openSUSE_Tumbleweed/       
 6 | SUSEStudio/openSUSE_Tumbleweed | SUSEStudio/openSUSE_Tumbleweed | Yes    | Yes    | http://download.opensuse.org/repositories/SUSE:/SUSEStudio/openSUSE_Tumbleweed/
 7 | packman                        | packman                        | No      | No      | ftp://packman.inode.at/suse/openSUSE_Tumbleweed/                             
 8 | repo-debug                    | repo-debug                    | No      | No      | http://download.opensuse.org/tumbleweed/repo/debug                           
 9 | repo-non-oss                  | repo-non-oss                  | Yes    | No      | http://download.opensuse.org/tumbleweed/repo/non-oss                         
10 | repo-oss                      | repo-oss                      | Yes    | No      | http://download.opensuse.org/tumbleweed/repo/oss                             
11 | repo-src-non-oss              | repo-src-non-oss              | No      | No      | http://download.opensuse.org/tumbleweed/repo/src-non-oss                     
12 | repo-src-oss                  | repo-src-oss                  | No      | No      | http://download.opensuse.org/tumbleweed/repo/src-oss                         
13 | tumbleweed/repo/debug/        | tumbleweed/repo/debug/        | No      | No      | http://download.opensuse.org/tumbleweed/repo/debug/                           
14 | vbox-oracle                    | vbox-oracle                    | Yes    | Yes    | http://download.virtualbox.org/virtualbox/rpm/opensuse/13.2/

http://download.virtualbox.org/virtu...opensuse/13.2/

Por lo demás todo sigue igual :

Código:


X79-PRO:~ # dkms status
vboxhost, 5.0.4: added

Edito:

Cuando probé la dirección indicada en la cita, da error (pero en su contenido apunta al enlace correcto, que fue el que añadí en los repositorios)
Edito :

Se solicitaba actualización del kernel por vitualbox , se actualizo y a continuación de ejecuto : /etc/init.d/vboxdrv setup
(esto volvió a recargar los nuevos módulos y idem el mismo ejecuta dkms, para hacerlo compatible :

Se ejecuta dkms status para comprobar el estado de la operación :

Código:


X79-PRO:~ # dkms status
vboxhost, 5.0.2, 4.2.0-7.g2d05727-desktop, x86_64: installed

El programa queda operativo, pero da un error de usb (en si no es un error, mas bien pide que con eso se instale el extensión pack ) ;
SE va a este enlace que se incluyo en la página de vittualbox de la wiki de openSUSE, se descarga desde ahí, se instala y queda operativo de nuevo :

https://es.opensuse.org/VirtualBox

http://download.virtualbox.org/virtualbox/

Comentar que este sustituyo al virtualbox, que tenia de los repositorios , los cuales había eliminado, al instalar el de Oracle, el programa, me guardo todas las configuraciones que tenía con el anterior, idem con los sistemas virtualizados .

Saludos cordiales

jimmiegr 24-ene-2018 09:02

Gracias por la info, me habría evitado un montón de dolores de cabeza se haberlo visto hace un tiempi. No tenía instalado DKMS


La franja horaria es GMT +2. Ahora son las 21:01.

Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.


Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!