Erro ao instalar o driver NVidia com o kernel 3.0 compilado

Iniciado por cesargcomp, 26 de Julho de 2011, 11:27

tópico anterior - próximo tópico

cesargcomp

Pessoal,

Compilei o kernel 3.0 sem nenhum patch baixando o código fonte do site kernel.org. O kernel compilou em 40 minutos e gerou os arquivos .deb normalmente (sem erro algum).
Instalei o kernel e fui tentar instalar o driver da GeForce que sempre baixei do site da NVidia. Sempre usei o driver mais atual (que no caso foi o NVIDIA-Linux-x86-275.09.07.run). Ao tentar instalar (sudo sh NVIDIA-Linux-x86-275.09.07.run), aparece a mensagem abaixo que consegui extrair do arquivo /var/log/nvidia-installer.log:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Tue Jul 26 11:03:08 2011
installer version: 275.09.07

PATH:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

option status:
  license pre-accepted               : false
  update                             : false
  force update                       : false
  expert                             : false
  uninstall                          : false
  driver info                        : false
  precompiled interfaces             : true
  no ncurses color                   : false
  query latest version               : false
  no questions                       : false
  silent                             : false
  no recursion                       : false
  no backup                          : false
  kernel module only                 : false
  sanity                             : false
  add this kernel                    : false
  no runlevel check                  : false
  no network                         : false
  no ABI note                        : false
  no RPMs                            : false
  no kernel module                   : false
  force SELinux                      : default
  no X server check                  : false
  no cc version check                : false
  run distro scripts                 : true
  no nouveau check                   : false
  run nvidia-xconfig                 : false
  sigwinch work around               : true
  force tls                          : (not specified)
  X install prefix                   : (not specified)
  X library install path             : (not specified)
  X module install path              : (not specified)
  OpenGL install prefix              : (not specified)
  OpenGL install libdir              : (not specified)
  utility install prefix             : (not specified)
  utility install libdir             : (not specified)
  installer prefix                   : (not specified)
  doc install prefix                 : (not specified)
  kernel name                        : (not specified)
  kernel include path                : (not specified)
  kernel source path                 : (not specified)
  kernel output path                 : (not specified)
  kernel install path                : (not specified)
  precompiled kernel interfaces path : (not specified)
  precompiled kernel interfaces url  : (not specified)
  proc mount point                   : /proc
  ui                                 : (not specified)
  tmpdir                             : /tmp
  ftp mirror                         : ftp://download.nvidia.com
  RPM file list                      : (not specified)
  selinux chcon type                 : (not specified)

Using: nvidia-installer ncurses user interface
-> License accepted.
-> Installing NVIDIA driver version 275.09.07.
-> Performing CC sanity check with CC="cc".
-> Performing CC version check with CC="cc".
-> Kernel source path: '/lib/modules/3.0.0/build'
-> Kernel output path: '/lib/modules/3.0.0/build'
ERROR: If you are using a Linux 2.4 kernel, please make sure
       you either have configured kernel sources matching your
       kernel or the correct set of kernel headers installed
       on your system.
       
       If you are using a Linux 2.6 kernel, please make sure
       you have configured kernel sources matching your kernel
       installed on your system. If you specified a separate
       output directory using either the "KBUILD_OUTPUT" or
       the "O" KBUILD parameter, make sure to specify this
       directory with the SYSOUT environment variable or with
       the equivalent nvidia-installer command line option.
       
       Depending on where and how the kernel sources (or the
       kernel headers) were installed, you may need to specify
       their location with the SYSSRC environment variable or
       the equivalent nvidia-installer command line option.
ERROR: Installation has failed.  Please see the file
       '/var/log/nvidia-installer.log' for details.  You may find suggestions
       on fixing installation problems in the README available on the Linux
       driver download page at www.nvidia.com.


Sinceramente não entendi nada. Eu entendo inglês mas não sei o que fazer. Alguma sugestão?
Use Ubuntu. Segurança, facilidade e gratuidade em suas mãos.

druidaobelix

#1
Olá cesargcomp,

Já que v. lê em inglês, parece que há uma solução aqui (não cheguei a ler extensivamente), ou pelo menos, por analogia, muito próxima:

http://www.nvnews.net/vbulletin/showthread.php?s=25a428e3c5892fcc96a182fb5b80a409&t=162890

Note no post #11, e daí em diante, onde referencia:

"There is a problem installing this driver on Linux 3.0-rc1 kernel. I applied this conftest.sh patch."


Eu até compilei a 3.0, só que com uma ATI, também foi isso, mais ou menos uns 40 minutos e sem erros, embora alguns 'warnings', que nem cheguei a olhar individualmente, mas de qualquer forma o sistema não subiu. Como a máquina que fiz isso é uma "velhinha" altamente problemática, principalmente a ATI  Radeon 1600, além de uma dúzia de outros problemas, não fui adiante na experiência, deixando para fazer numa hora que tiver mais tempo num equipamento melhor.

[]'s
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

cesargcomp

Olá druidaobelix,

Primeiramente, gostaria de agradecer a sua resposta. Tinha lido algo semelhante ao link que você postou e vou colocar aqui o que tentei e não deu certo.

Fontes:
http://unix.stackexchange.com/questions/14685/nvidia-installer-cant-find-kernel-source-build-files-compiled-from-kernel-org
http://www.nvnews.net/vbulletin/showthread.php?p=2440457

Para instalar o driver NVidia com o kernel 3.0 compilado, você deve usar um patch no driver da NVidia.

Patch:
--- conftest.sh.orig    2011-05-30 12:24:39.770031044 -0400
+++ conftest.sh 2011-05-30 12:25:49.059315428 -0400
@@ -76,7 +76,7 @@
}

build_cflags() {
-    BASE_CFLAGS="-D__KERNEL__ \
+    BASE_CFLAGS="-O2 -D__KERNEL__ \
-DKBUILD_BASENAME=\"#conftest$$\" -DKBUILD_MODNAME=\"#conftest$$\" \
-nostdinc -isystem $ISYSTEM"

--- nv-linux.h.orig 2011-05-30 12:27:09.341819608 -0400
+++ nv-linux.h  2011-05-30 12:27:28.854951411 -0400
@@ -32,7 +32,7 @@
#  define KERNEL_2_4
#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
#  error This driver does not support 2.5 kernels!
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 7, 0)
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 1, 0)
#  define KERNEL_2_6
#else
#  error This driver does not support development kernels!

Crie um arquivo chamado kernel-3.0.patch.txt com o conteúdo acima.

Entre na pasta onde está o driver da NVidia.

Extraia o instalador da NVidia:
./NVIDIA-* -x

Copie o patch para a pasta onde se encontra o driver NVIDIA-* (no meu caso estava na pasta ~/Downloads):
cp kernel-3.0.patch.txt ~/Downloads/

Dentro da pasta "kernel" use o patch:
cd NVIDIA-*/kernel/
cat ../../kernel-3.0-rc1.patch.txt | patch -p0

Feito isso, simplesmente instale o driver da seguinte forma:
./nvidia-installer --kernel-source-path /usr/src/linux-3.0


O erro persiste. Achei um novo driver na página da NVidia. Vou testá-lo e posto o resultado mais tarde.
Use Ubuntu. Segurança, facilidade e gratuidade em suas mãos.

cesargcomp

Compilei novamente o kernel 3.0. Ao instalar os arquivos .deb aparece essa mensagem:

Configurando linux-image-3.0.0 (1cesargcomp) ...

Hmm. There is a symbolic link /lib/modules/3.0.0/build
However, I can not read it: Arquivo ou diretório não encontrado
Therefore, I am deleting /lib/modules/3.0.0/build


Hmm. The package shipped with a symbolic link /lib/modules/3.0.0/source
However, I can not read the target: Arquivo ou diretório não encontrado
Therefore, I am deleting /lib/modules/3.0.0/source

Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.0.0 /boot/vmlinuz-3.0.0
update-initramfs: Generating /boot/initrd.img-3.0.0
find: `/lib/modules/3.0.0/kernel/arch': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch/': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch/': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch/': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch/': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch/': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch/': Arquivo ou diretório não encontrado
find: `/lib/modules/3.0.0/kernel/arch/': Arquivo ou diretório não encontrado


Creio que pode ser ai o problema mas não sei o que fazer.
Instalei o driver NVIDIA-Linux-x86-275.21.run e... mesmo erro. Tentei o patch. Nada.
Use Ubuntu. Segurança, facilidade e gratuidade em suas mãos.

Johnny Stark

 Amigo, tive esse problema e resolvi utilizando os pacotes do debian para atualizar o kernel. Usei também o driver 285.03 Beta da Nvidia, pode baixar, tá sem erros e é mais provável que consiga com este. O máximo que tive de ter foi o nvidia-kernel-sources (285.03) para iniciar a instalação.
Poste o que acontece.


  Boa sorte!    Flw!!! ;)
Aguardo aflitamente por uma luz que iluminará meu caminho e mostrará-o para os demais que me cercam e não descobriram o que criticam...Linux é não só meu pai.É meu professor.

AMD Athlon II X2 2.5GHz,Nvidia Geforce 7025 256MB 128 bits,4GB RAM DDR3,Placa Phitronics N68C-M,Ubuntu11.04 amd64 e mais...

zekkerj

Cuidado ao usar um repositório alienígena em sua máquina. A árvore de dependências pode ser diferente, gerando conflitos irreconciliáveis de dependência.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D