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
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
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.
$ 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.