Установка драйверов Nvidia с завершением pkg1.run с «no Version.h found»

3

Я много читал и много пробовал - ничего не работало для меня.

У меня есть Dell Inspiron 8200 (1600x1200) с Geforce MX440 Mobile. Установка драйвера «простой способ» ( sudo apt-get install nvidia-current ) оставляет меня застрявшим с крошечным неизменяемым разрешением (1024x768 или 800x600). Поэтому я пошел навстречу:

  • sudo apt-get update
  • sudo apt-get dist-upgrade
  • черный список нуворишей
  • перезагружается
  • скачан и запустит ( sudo sh ... ) файл Nvidia 96, заканчивающийся pkg1.run , который является правильным для меня, когда я где-то читал.

Это приведет к ошибке:

ERROR: The kernel header file
'/lib/modules/3.08.0-35-generic/build/include/linux/version.h' does
not exist. The most likely reason for this is that the kernel source
files in '/lib/modules/3.08.0-35-generic/build' have not been
configured.

Как настроить исходные файлы ядра? Нет ничего похожего на sudo make-prepare или sudo get-apt kernel-devel правильно?

Обходной путь предложил скопировать version.h ( cp -v /usr/include/linux/version.h /lib/modules/$(uname -r)/build/include/linux ), которые приводят к этой ошибке:

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.

Где установлены источники ядра?

Я даже пытался запустить ...pkg1.run с --kernel-source-path /usr/include/linux (где version.h и многие другие .h Files) в качестве параметра, но это приводит к:

 ERROR: The kernel header file
 '/usr/include/linux/include/linux/kernel.h' does not exist (...)

Есть ли у кого-нибудь идея?

    
задан user239738 25.01.2014 в 17:00
источник

1 ответ

5

Хорошо, похоже, что вы слишком много играли с вашей установкой ... пожалуйста, прочитайте все, прежде чем что-либо делать.

Единственное, что вам нужно сделать, это установить заголовки ядра, и все будет хорошо:

sudo apt-get install linux-generic

Это было единственное, что вам нужно было сделать и решило бы «Файл заголовка ядра 'version.h' не существует. "error ... Теперь нам нужно вернуть то, что вы сделали, чтобы сделать это правильно.

  

Как настроить исходные файлы ядра? Нет ничего лучше, чем sudo make-prepare или sudo get-apt kernel-devel правильно?

Вам ничего не нужно настраивать. Если вы используете APT, все будет просто отлично. Кроме того, вам не нужно sudo для выполнения make . Нет команд get-apt и make-prepare , поэтому везде, где вы видели те, которые только что закрыли эту страницу, и не доверяйте никому, что там сказано.

  

Обходной путь, предложенный для копирования версии.h (cp -v /usr/include/linux/version.h / lib / modules / $ (uname -r) / build / include / linux), которые приводят к этой ошибке:

Вы должны следовать только руководству за последний год и от людей, которые знают, что они делают ... /usr/include/linux/version.h и /lib/modules/$(uname -r)/build/include/linux по существу предоставляются разными пакетами. Единица в usr предоставляется linux-libc-dev , тогда как тот, который вам нужен, предоставляется linux-заголовками. Удалите его:

sudo rm /lib/modules/$(uname -r)/build/include/linux/version.h
  

ОШИБКА: файл заголовка ядра    '/usr/include/linux/include/linux/kernel.h' не существует (...)

Это также будет исправлено при установке пакета заголовков.

    
ответ дан Braiam 25.01.2014 в 17:38