Por que eu preciso recarregar os módulos do kernel para o virtualbox depois de uma atualização do kernel?

10

Após a última atualização do kernel no Ubuntu 12.10, tive que recarregar manualmente dois módulos do kernel para o Virtualbox.

modprobe vboxdrv e modprobe vboxnetflt

Eu não sei o suficiente sobre o sistema para dizer se isso é um bug, ou se é para ser assim, mas é bastante inconveniente. Como um usuário novo no Ubuntu, era bastante demorado descobrir o que precisava ser feito.

Foi uma atualização automática, que me pediu para reiniciar quando terminasse. Após a reinicialização, as máquinas virtuais não seriam executadas até que eu tenha recarregado os módulos.

Então minhas perguntas são: isso é normal? Isso acontecerá com outros pacotes ou apenas com o Virtualbox? O atualizador deve fazer isso automaticamente? Devo enviar um relatório de bug e, em caso afirmativo, para quem?

    
por Ammon 20.01.2013 / 01:44

2 respostas

2

Os módulos host do VirtualBox são criados a partir do código-fonte em sua máquina. Módulos para um kernel não necessariamente funcionarão (ou funcionarão corretamente) em outro kernel. Eles são tipicamente recompilados após o upgrade do kernel.

Quando você instala uma nova versão do kernel, seu kernel antigo ainda está em execução. Como Javier Rivera diz , você deve reiniciar para usar o novo kernel.

Portanto, se seu objetivo é rodar o VirtualBox no novo kernel , você precisa reinicializar; os módulos serão carregados quando você fizer isso (depois de ser reconstruído a partir da fonte, se necessário).

No entanto, se seu objetivo é usar os módulos antigos com o kernel antigo, você pode recarregá-los manualmente com modprobe (como você está fazendo).

Se você acredita que é um bug que os módulos do VirtualBox não continuam trabalhando para o kernel em execução antes da reinicialização, você pode relatar isso. Se você estiver usando a versão do VirtualBox fornecida oficialmente no Ubuntu (em vez da versão da fonte de software da Oracle), eu recomendo informar isso contra o VirtualBox downstream (ou seja, contra o VirtualBox do Ubuntu). Por favor, leia este guia cuidadosamente primeiro. Também há informações úteis sobre relatórios de erros em esta questão .

Se você puder produzir isso com a versão upstream do VirtualBox ( especialmente se acontecer em sistemas não-Ubuntu, mas eu não acho que é essencial aqui), eu recomendo reportá-lo (ou < em> também reportando isso) upstream (procure primeiro).

Eu recomendo não aceitar esta resposta imediatamente; talvez alguém possa explicar melhor por que os módulos estão descarregados.

    
por Eliah Kagan 22.01.2013 / 03:13
2

Se você teve que executar o '/etc/init.d/vboxdrv setup' após a atualização e antes de carregar os novos módulos do kernel, assegure-se de que o dkms esteja instalado e atualizado corretamente. Este é o componente que recompilou os módulos quando você reinicia após atualizar o kernel, ele também deve carregar os módulos quando terminar. Essa é a única circunstância em que eu poderia fazê-lo falhar nos meus testes. Se não fosse esse o caso, eu tomaria o conselho de Eliah e arquivaria um relatório de bug.

    
por sean_m 22.01.2013 / 04:12