Loop de login após atualização do kernel 3.13.0-143-genérico Ubuntu 14.04

Loop de login após atualização do kernel 3.13.0-143-genérico Ubuntu 14.04

Tenho um grande problema amanhã no meu computador na minha mesa.

Nvidia: a versão mágica '3.13.0-143-genric SMP mod_unload modversions' deve ser '3.13.0.143-generic SMP mod_unload modversions retpoline'

Eu sei que há problemas semelhantes resolvidos aqui (comoNão é possível fazer login após a instalação do driver Nvidia v 14.04)

Mas não sei bem como alterar o comando para funcionar no meu sistema.

Eu tenho Ubuntu 14.04...


Tentei carregar um kernel mais antigo. Isso funciona bem. Eu verifico as ferramentas de configuração da GUI. Em atualizações e drivers, posso optar por atualizar meus drivers nvidia para o mais recente (384.111). Eu tentei e tudo ainda funciona.

Então voltei para o kernel mais recente.

Agora, verifico o modinfo e a nvidia não estava aqui. Eu tentei "sudo modprobe nvidia" (dkms vê que a nvidia 384.111 está instalada).

Resposta: modprobe: ERRO não foi possível inserir 'nvidia_384': erro de formato Exec

Eu verifiquei nvidiafb.ko em /lib/modules/.../drivers/video/nivdia e este arquivo está no modo -rw-r--r--... Não sei se deveria estar no mod exec? ?

Estou preso agora

Responder1

Isso ocorre porque os kernels mais recentes têm a mitigação retpoline Spectre. Você precisará reconstruir seu módulo do kernel nvidia.ko com uma versão corrigida do gcc de distribuição de estoque.

Aqui está o bug e mais detalhes:https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937

Responder2

Eu resolvi o problema seguindoesta postagemda barra de lançamento de bugs. Resumindo:

Execute o seguinte comando e procure a vermagiclinha:

modinfo nvidia-384 -k 4.4.0-116-generic

Provavelmente dirá: vermagic: 4.4.0-116-generic SMP mod_unload modversions. Aqui a string retpoline está faltando. Você pode corrigir isso removendo e reconstruindo o módulo com DKMS

sudo dkms remove nvidia-384/384.111 -k 4.4.0-116-generic
sudo dkms install nvidia-384/384.111 -k 4.4.0-116-generic

Depois disso, o comando modinfo irá mostrarvermagic: 4.4.0-116-generic SMP mod_unload modversions retpoline

Se você estiver usando uma versão personalizada do gccesta postagemtambém é relevante:

Se você estiver usando uma versão Ubuntu do gcc, então o gcc provavelmente foi atualizado quando você obteve o kernel mais recente. As alterações no gcc necessárias para suportar retpoline deveriam ter sido portadas para a maioria das versões ativas do gcc. No entanto, se você instalou uma versão personalizada do gcc, seu módulo do kernel provavelmente não será compilado corretamente.

Portanto, se o procedimento acima não funcionar, talvez seja necessário verificar qual versão do gcc você está usando.

informação relacionada