Corrigindo erro do VirtualBox no Slackware 14.2 após atualizar Kernel

Publicado por Rodrigo Albuquerque Serafim em 28/03/2018

[ Hits: 3.829 ]

Blog: https://www.vivaolinux.com.br/~raserafim

 


Corrigindo erro do VirtualBox no Slackware 14.2 após atualizar Kernel



Após atualizar o Kernel do Slackware é comum que o VirtualBox deixe de funcionar e exiba a seguinte mensagem:

Kernel drive not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
Linux: Corrigindo erro do VirtualBox no Slackware 14.2 após atualizar Kernel
Isso ocorre porque a versão instalada do VirtualBox não está configurada para o novo Kernel. É necessário alguns procedimentos para que volte a existir correspondência entre o Kernel do sistema e o VirtualBox.

Embora na mensagem de erro seja sugerido executar "/sbin/rcvboxdrv setup", esse arquivo não existe no Slackware. O seu equivalente é o "rc.vboxdrv" que fica em "/etc/rc.d/".

Em algumas situações já me foi possível corrigir esse tipo de erro apenas executando:

# /etc/rc.d/rc.vboxdrv setup

Atualmente, quando tento executar o referido comando, recebo a seguinte mensagem:

Not implemented! Please use the virtualbox-kernel.SlackBuild available at SlackBuilds.org instead.
No entanto, nas duas últimas atualizações de Kernel do Slackware apenas consegui corrigir o problema ao reinstalar o pacote virtualbox-kernel.

Apresento, então, dois métodos para fazer essa reinstalação:

Pressuposto: o VirtualBox foi anteriormente instalado por meio do slackbuilds.org
Pressuposto: todos os processos serão executados como root

Método 1: baixando os arquivos diretamente do site slackbuilds.org, compilando-os e instalando-os

Entrar no site: https://slackbuilds.org/repository/14.2/system/virtualbox-kernel/

Baixar os arquivos:
  • virtualbox-kernel.tar.gz
  • virtualbox-kernel-5.0.40.tar.xz (a numeração pode variar em caso de nova versão do pacote)

ou então, baixar diretamente através dos seguintes links:
Descompactar (extrair) o arquivo virtualbox-kernel.tar.gz.

Copiar o arquivo virtualbox-kernel-5.0.40.tar.xz para dentro do diretório virtualbox-kernel que foi gerado a partir da descompactação do arquivo virtualbox-kernel.tar.gz.

Entrar no diretório virtualbox-kernel e executar o arquivo virtualbox-kernel.SlackBuild:

# ./virtualbox-kernel.SlackBuild

Ao final da compilação, um pacote deverá ser gerado em /tmp.

Entrar em /tmp e instalar/atualizar o pacote:

# upgradepkg --install-new virtualbox-kernel-*.tgz

Pronto!

Agora basta reiniciar a sessão ou reiniciar o serviço vboxdrv:

# /etc/rc.d/rc.vboxdrv restart

Método 2: utilizando o sbopkg

Após sincronizar (Sync) e verificar se há atualizações (Updates), na lista, deverá aparecer o virtualbox-kernel-5.0.40...

Adicioná-lo à lista (Queue) e processar a sua instalação (Queue > Process> Install)

Pronto!

Agora basta reiniciar a sessão ou reiniciar o serviço vboxdrv:

# /etc/rc.d/rc.vboxdrv restart

Outras dicas deste autor

Como dar Permissão de Execução a Arquivo (script ou binário) no GNU/Linux - Abordagem Prática

Como atualizar o Java (JDK) no Slackware 14.2: superando o erro no sbopkg

Leitura recomendada

Como instalar QT Creator no Ubuntu

Webcam no Linux de forma simples

Configuração de Client VPN Cisco (Group Authentication)

Acessando outros terminais no VirtualBox

AMSN pedindo Instalação do TLS

  

Comentários
[1] Comentário enviado por removido em 28/03/2018 - 17:30h

Método que uso:

https://www.vivaolinux.com.br/screenshots/viewshot.php?codigo=29400

[2] Comentário enviado por raserafim em 28/03/2018 - 22:01h

o comando que você mencionou, meianoite, já é automaticamente executado pelo slackware no "rc.local".

esse comando carrega os módulos de kernel do VirtualBox para o Kernel que está atualmente rodando.

sendo que quando o kernel sofre atualização é necessário instalar esses módulos do VirtualBox para o novo Kernel.

é para este último caso que minha dica se aplica.

[3] Comentário enviado por removido em 29/03/2018 - 01:21h


[2] Comentário enviado por raserafim em 28/03/2018 - 22:01h

o comando que você mencionou, meianoite, já é automaticamente executado pelo slackware no "rc.local".

esse comando carrega os módulos de kernel do VirtualBox para o Kernel que está atualmente rodando.




O arquivo "rc.local" não tinha nada de virtualbox antes tive que add manualmente.

# cat /etc/rc.d/rc.local

# Para iniciar o VirtualBox
#
if [ -x /etc/rc.d/rc.vboxdrv ]; then
/etc/rc.d/rc.vboxdrv start
fi

[4] Comentário enviado por raserafim em 29/03/2018 - 01:26h

Acho que o meu já tinha..

Independente disso, esse comando não funciona quando o kernel é atualizado: porque não tem módulos do virtualbox para serem carregados no novo kernel.

Primeiro é preciso instalá-los

[5] Comentário enviado por removido em 29/03/2018 - 01:57h


[4] Comentário enviado por raserafim em 29/03/2018 - 01:26h

Acho que o meu já tinha..

Independente disso, esse comando não funciona quando o kernel é atualizado: porque não tem módulos do virtualbox para serem carregados no novo kernel.

Primeiro é preciso instalá-los


Isso entra na parte de atualização do sistema.

Podemos usar o sbopkg para sincronizar com slackbuilds.org e depois atualizar o virtualbox.

Acho que seria isso:

# sqg -a <==== +/- 50 minutos
# sbopkg -r
# sbopkg -c
# sbopkg -ki pacote


$ ls /var/log/packages/ | grep -i virtual*
virtualbox-5.0.40-x86_64-1_SBo
virtualbox-extension-pack-5.0.40-x86_64-1_SBo
virtualbox-kernel-5.0.40_4.4.118-x86_64-1_SBo

[6] Comentário enviado por raserafim em 29/03/2018 - 14:50h

meianoite escreveu:

Isso entra na parte de atualização do sistema.

Podemos usar o sbopkg para sincronizar com slackbuilds.org e depois atualizar o virtualbox.

Acho que seria isso:

# sqg -a &lt;==== +/- 50 minutos
# sbopkg -r
# sbopkg -c
# sbopkg -ki pacote

Não precisa de nada disso ...


meianoite escreveu:

$ ls /var/log/packages/ | grep -i virtual*
virtualbox-5.0.40-x86_64-1_SBo
virtualbox-extension-pack-5.0.40-x86_64-1_SBo
virtualbox-kernel-5.0.40_4.4.118-x86_64-1_SBo


Quando se atualiza o Kernel apenas o pacote "virtualbox-kernel..." é preciso ser reinstalado para que os arquivos de módulo do kernel sejam colocados na pasta do novo Kernel.

(obs: não se trata de um pacote atualizado que o slackbuilds.org disponibilizou -- basta olhar os logs para ver que não é disso que se trata. Trata-se de um slackbuilds que reempacota com o número da versão do novo Kernel)


[7] Comentário enviado por cesarsj em 09/09/2019 - 13:42h

Fiz o upgrade da versão 13.1 (kernel 3.x) para 14.2 ( kernel 4.x), em uma VM montada no Virtual Box 6.0.10. É claro que 'lilo' (se for lilo) deve ser executado antes de reiniciar. Mas, apesar do erro acima discutido aparecer, ao reiniciar, já no boot, o virtualbox guest additions faz a construção do novo kernel.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts