O instalador da NVIDIA não consegue encontrar os arquivos fonte / build do kernel (compilados a partir do kernel.org)

2

Eu apenas compilei e instalei o novo kernel 3.0-rc2 do kernel.org no meu sistema Fedora 15. Tudo parece funcionar bem e eu posso inicializar com sucesso no sistema. No entanto, isso quebrou meu driver NVIDIA instalado anteriormente, portanto, preciso compilar um novo. Eu baixei o instalador do nvidia.com, mas estou tendo problemas com a instalação.

Para compilar o kernel eu descompactei o arquivo do kernel no meu diretório home, então simplesmente reutilizei minha configuração do Fedora para o novo kernel. Tudo está em ~/linux_build/linux-3.0-rc2 .

Após inicializar no nível de execução 3, recebo um erro com o instalador da NVIDIA:

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.

Eu executei o instalador assim:

bash NVIDIA-Linux-x86_64-270.41.19.run --kernel-source-path=/home/tja/linux_build/linux-3.0-rc2

Geralmente isso foi resolvido instalando os cabeçalhos do kernel a partir de yum , mas aqui estou usando um novo kernel sem RPM disponível.

Como faço para instalar manualmente os cabeçalhos / arquivos de origem necessários para o instalador da NVIDIA?

    
por Mr. Shickadance 09.06.2011 / 15:59

1 resposta

0

Bem, eu não estava ficando louco. O instalador da NVIDIA precisava ser corrigido. A versão do kernel 2.7.0 foi codificada como limite superior. Isso foi aumentado para 3.1.0 a partir de um patch simples.

Aqui está o arquivo de correção: nvidia-patch @ fedoraforum.org

--- 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!

Então você precisa extrair os arquivos do instalador nvidia:

./NVIDIA-Linux-x86_64-270.41.19.run -x

Então, dentro do diretório 'kernel', estão os arquivos a serem corrigidos:

cd NVIDIA-Linux-x86_64-270.41.19/kernel/
patch -p0 kernel-3.0-rc1.patch.txt

Uma vez feito isso, basta fornecer as fontes do kernel como um parâmetro para o instalador:

./nvidia-installer --kernel-source-path /home/tja/linux/linux-3.0-rc2

... e isso é ótimo!

Agora eu estou executando o Linux 3 com um driver Nvidia adequado.

    
por 13.06.2011 / 14:44