A instalação do novo driver NVIDIA falha

1

Espero que isso seja tão fácil quanto uma pergunta já respondida que não encontrei no SE.

Então, eu tenho um servidor LTSP rodando o CentOS 6. A versão do kernel Linux da imagem LTSP e do servidor são as mesmas: é 2.6.32-504.8.1.el6.x86.64 (uname -r), yum está ativo até hoje em ambos também. Numerosos clientes sem disco com uma placa nVidia Quadro FX570, monitor duplo que substituímos recentemente por uma Quadro K620. Meu problema é tentar instalar o novo driver nVidia, v346.59.

Uma visão geral das ações e resultados:

  • chroot para LTSP x86_64
  • execute o arquivo .run do driver da nVidia e responda aos prompts (escolhendo Sim para incluir o DKMS).
  • arquivo de driver (nvidia.ko) cria
  • falha ao instalar (não é uma surpresa, pois o servidor não tem GPU).
  • copie manualmente /opt/ltsp/x86_64/usr/src/nvidia-356.59/nvidia.ko para / lib / modules / uname -r / extra
  • echo "nouveau" > > /etc/modprobe.d/nouveau.conf
  • cd / boot e mkinitrd com o kernel em execução (produzindo initram.img).
  • assegure que o vmlinuz.ltsp aponte para corrigir o kernel, initrd.ltsp aponta para o initramfs recém-criado
  • ltsp-rewrap-kernel
  • sai do chroot
  • como raiz ltsp-update-kernel / opt / ltsp / x86_64
  • inicializa o thinclient para executar o nível 3
  • execute o X -configure
  • validate xorg.conf.new contém um dispositivo com o driver "nvidia".
  • inicie o X: ambos com startx e X -conf xorg.conf.new

E agora, o problema : o X11 carrega, algumas reclamações menores sobre teclados e, em seguida, trava com uma tela em branco / preta. O comando X kill funciona bem, os aplicativos X não são iniciados.

Eu suspeito que o nvidia.ko não está sendo incluído no initramfs porque:

lsinitrd  /boot/initram.img | grep nvidia

não produz saída.

Eu também suspeito que algo não está correto com a lista negra do nouveau porque:

lsinitrd /boot/initram.img | grep nouveau

contém todos os arquivos .ko instalados em / lib / modules / uname -r /

Além disso, para referência, usei manualmente o dkms para fazer / instalar o módulo nvidia.ko com os mesmos resultados.

Se alguém puder me ajudar a entender porque o initrd não contém o driver nvidia.ko e porque o X está preso na tela em branco, eu ficaria muito feliz. Peço desculpas por não ter as mensagens de erro reais - a máquina está em uma rede diferente e não consigo copiar / colar nela.

EDITAR: Algumas melhorias / notas adicionais.

  • quando eu inicio um thinclient no nível de execução 3, e executo o startx, depois de parar o servidor X se eu olhar no /var/log/X.org.conf vejo o módulo nvidia sendo inicializado e ele identifica corretamente o dispositivo K620 como bem como o monitor Dell conectado a ele.

Se este for o caso, o problema ainda poderia estar relacionado ao módulo nvidia não ser compatível com o kernel em execução? Ou é um xinitrc incorretamente configurado? ou algum outro problema?

    
por Daniel 17.04.2015 / 00:12

1 resposta

1

Por favor, perceba que este problema não tem nada a ver com xinitrc , ou sua configuração do XOrg. Eu mantenho minha declaração de que você pode:

  1. Congele o driver NVIDIA no 3.11.x, pois este é o último driver a suportar o kernel da série 2.6 ou:
  2. Atualize o kernel em seu ambiente para pelo menos 3.11.

Veja a justificação abaixo.

Esta entrada está no meu changelog:

05 Sep 2013; Jeroen Roovers nvidia-drivers-173.14.38.ebuild: Raise compatible kernel to 3.11.

Isso indica que até mesmo a barra do conjunto mais antigo de drivers foi aumentada para 3.11, e esse código está no arquivo ebuild do 346.59:

pkg_pretend() {
    if use amd64 && has_multilib_profile && \
        [ "${DEFAULT_ABI}" != "amd64" ]; then
        eerror "This ebuild doesn't currently support changing your default ABI"
        die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
    fi

    if use kernel_linux && kernel_is ge 4 1 ; then
        ewarn "Gentoo supports kernels which are supported by NVIDIA"
        ewarn "which are limited to the following kernels:"
        ewarn "<sys-kernel/gentoo-sources-4.1"
        ewarn "<sys-kernel/vanilla-sources-4.1"
        ewarn ""
        ewarn "You are free to utilize epatch_user to provide whatever"
        ewarn "support you feel is appropriate, but will not receive"
        ewarn "support as a result of those changes."
        ewarn ""
        ewarn "Do not file a bug report about this."
    fi

Este é um aviso que é impresso durante a instalação se meu kernel for maior ou igual a 4.1. Observe que me disseram para não registrar um bug. Então, usando os dois bits de informação, eu venho com o seguinte:

Para usar o driver 346.59, meu kernel não pode ser menor que 3.11 e não pode ser maior que ou igual a 4.1 e não posso ativar a emulação de 32 bits ao usar um sistema multilib.

Como opção final, você também pode considerar o uso do driver nouveau , que está disponível como um driver padrão em kernels maiores igual ou igual a 3,19.

    
por 17.04.2015 / 20:25