LINUX.ORG.RU

Проблемы с драйвером Nvidia после обновления ядра


0

0

Добрый день Я начинающий линукс-пользователь, поэтому не пинайте больно :) Ситуация такая: установил слаку 10.2. установил дрова видяхи sh <drivername> --kernel-include-path /usr/src/linux/include/ дрова встали. Х-ы пускались без проблем. далее я решился обновить ядро с 2.4.31 на 2.4.32 скачал, настроил конфиг, собрал. и усе - Х-ы больше не живут. modprobe выдает ошибку, что не может найти модуля nvidia.o вопрос 1: нужно ли сносить дрова видяхи перед обновлением ядра? далее я делаю анисталл дров (потому что заново дрова не ставились, хотя в них есть функция удаления старых дров, если они утсановлены) sh <drivername> --uninstall дрова удаляются. НО заново уже не ставятся. при установке появляется сообщение об ошибке - невозможно утсновить драйвер, потому что nvidia.o был собран на старых исходниках ядра. при этом этого модуля нигде нет - облазил все. вопрос 2: что делать? подсказки(может поможет помочь мне :) ) новое ядро почему-то запускает модули старого ядра. у меня PCIE видяха, но каждый раз при загрузке с настойчивостью идиота пытается запуститься agpgart, хотя в новом ядре он выключен. может я как-то не так собрал ядро? делал в такой последовательности: make menuconfig make dep make bzImage make install make modules make modules_install есть ли какой-нибудь ключ чтобы ВСЕ модули пересобрались а то при сборке он почти на все выдает nothing to do (тоесть я так понимаю он все равно использует старые модули от старого ядра) и откуда modprobe берет nvidia.o?

a/kernel-ide-2.4.32-i486-2.tgz: Recompiled with gcc-3.4.5. Apparently the nVidia driver demands that the kernel be compiled with the same compiler that will be used to compile the kernel module wrapper for the binary nVidia driver (though my guess is that if this restriction were not coded into their installer that it would work fine), so I've recompiled all the 2.4.32 kernels and modules using the new compiler.

Патрик это не забыл:) Не забыл ли ты сделать так???

Unforgiven
()
Ответ на: комментарий от Unforgiven

как? я собрал новое ядро, НО почему-то используются модули собранные со старым ядром. я не могу собрать драйвер именно из-за этого. есть ли какой-нибудь ключ для полной пересборки модулей с новым ядром? после make modules я просматриваю ве что собралось и ничего не нахожу на все модули он пишет nothing to do, тоесть компилер не собирает заново модули, а оставляет старые. в их число почему-то попадает и nvidia.o хотя я его даже не нашел.

откуда modprobe берет информацию об установленных модулях? откуда он вытаскивает nvidia.o если его нет физически, дрова удалены и никакого упоминания в modules.dep?

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

тоесть как я понял мне нужно поставить новый компилятор и пересобрать заново ядро, модули и дрова?

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

a/kernel-modules-2.4.32-i486-2.tgz: That's what I meant to say below, not "l/alsa-driver-1.0.10_2.4.32-i486-1.tgz". I'd been looking at the alsa-driver package to see if it had the same issue (it doesn't), and then listed the wrong package in the ChangeLog. Sorry about that. Oh, and there was really nothing wrong with the modules in the kernel-modules-2.4.32-i486-1 package that a 'depmod -a' wouldn't fix. That's the only change that went into the package -- the modules are the same. Thanks to Victor Keranov for pointing out my mistake.

По ходу дела модули там и взаправду теже:)

Unforgiven
()

> Я начинающий линукс-пользователь [....] Ситуация такая: установил слаку 10.2

{no-dashi пинает автора ногами} Вот тебе! Получай! Говорили тебе! Возьми дистрибутив, а не "слаку"!

> modprobe выдает ошибку, что не может найти модуля nvidia.o

1. Запускаешь инсталлер драйвера nvidia-шного с ключем --extract-only

2. После того, как инсталлер распакуется, идешь в ./usr/src/nv, говоришь там make module (или make modules, на вскидку не скажу - у меня 2.6 а не 2.4), получившийся драйвер копируешь к остальным модулям, говоришь depmod -a

3. Сносишь слаку, ставишь нормальный дистрибутив :-)

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

no-dashi, это комментарии не по теме, т.е. {флуд|флейм} :) По, крайней мере, его разжигание: хорошо, что install --- не talks, а я не geek=)

Unforgiven
()
Ответ на: комментарий от Unforgiven

> это комментарии не по теме, т.е. {флуд|флейм} :)

Смотри пункт 2, там все по-русски написано :-)

no-dashi ★★★★★
()
Ответ на: комментарий от Unforgiven

>Знаешь чо, ты конфиг иксов забэкапил, надеюсь? Загрузись-ка с ним попробуй.

нет не бэкапил. дрова при установке сами сделали бэкап старого конфига. со старым тоже не пускаются иксы. modprobe все равно пишет, что не может загрузить модуль nvidia, но уже по другой причине - отсутствует драйвер.

цирк! на кладбище...

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

> цирк! на кладбище...

Загрузись с новым ядром и переинсталируй драйвер.

no-dashi ★★★★★
()
Ответ на: комментарий от RaveNdbc

А чо там с рецептом от no-dashi?

З.Ы. За каким ху&# ты поставил, да еще и скомпилировал вручную 2.4.32???:):):) Ты хоть знаешь, чо это? Тогду бы уж 2.6.15.1 компилил бы...

Unforgiven
()
Ответ на: комментарий от RaveNdbc

Кароче, методом чтения http://wiki.kryukov.biz/wiki/Система_инициализации_Slackware_Linux а также методом пропарсивания всяких там rc.modules, moprobe.conf, modules.conf и т.д. "вроде как бы" установлено, что по идее этот модуль грузится только из-за hotplug'а. Так что попробуй его отключить --- или параметр загрузчику nohotplug или снять бит исполняемости с rc.hotplug.

Unforgiven
()
Ответ на: комментарий от Unforgiven

> по идее этот модуль грузится только из-за hotplug'а

На слаке, да под 2.4? Ага блин, размечтались :-)

Согласно тому, что написано в инсталлере nvidia, он создает несколько файлов по имени nvidia* в /dev и прописывает в modues.conf ссылку char-major-чего-то-там nvidia. Таковая ссылка имеет результатом то, что как только кто-то попытается открыть этот файл (а это делает X-север) драйвер быдет автоматически подгружен (смотреть "Linux не для идиотов", первое издание :-)).

А если модуль не грузится - значит его нет (ну не собрали его, не шмогли, ни асилили, много букф). Хотя...

Кстати, уважаемый автор вопроса, скажи нам всем - ты не забыл включить в ядре поддержку модулей и поддержку автоматической загрузки модулей ядром "по требования" (Kernel automatic module loading вроде бы эта фича называлась)? Без этого у тебя ничига работать не будет, и нужно явное указани modprobe nvidia где-то в init-скриптах.

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

2 no-dashi: ЧОРТА ЛЫСОГО=)))): я тоже счастливый обладатель MX440 и этот модуль у меня есесено грузится. Я просмотрел ВСЕ скрипты в /etc/rc.d/,/etc/hotplug,/etc/moprobe.conf,/etc/modules.conf --- нету там никаких упоминаний про {NVIDIA|nvidia}. Так что совершенно не могу сказать, как он грузится...Не может быть такого, что xinit, пропалив строчку в xorg.conf, где есть 'nvidia' вызывает modprobe???:

[unforgiven | /etc : 00:16:51] $ cat modules.conf |grep char

alias char-major-116 snd

alias char-major-14 soundcore

2 автор: можно попробовать сделать как говорит no-dashi: напиши в /etc/rc.d/rc.local что-нить в стиле modprobe nvidia. И еще: я собирал одно из ядер 2.6 (там на него и не перешел по другим причинам) и, каждый раз, перегружаясь, надо было переставлять драйверы без всякого удаления. Т.е. так: гружу 2.6 --- ставлю дрова, смотрю иксы; гружу обратно 2.4 --- и опять ставлю дрова ну и т.д.:)

Unforgiven
()
Ответ на: комментарий от Unforgiven

> Так что совершенно не могу сказать, как он грузится...Не может быть такого, что xinit, пропалив строчку в xorg.conf, где есть 'nvidia' вызывает modprobe???:

а как понят тогда, что при использовании дефолтного конфига где нет nvidia строки modprobe все равно говорит, что не может загрузить модуль nvidia? куда он зарылся? точнее откуда modprobe берет, что он вообще существует?

ок. только пришел с работы. буду пробовать

RaveNdbc
() автор топика
Ответ на: комментарий от Unforgiven

с этим погодю только что заметил забавную вещь. собрал и инстальнул .4.32 ребутнул. а грузится все равно .4.31 причем грузится используя конфиг от .4.32 бред...

RaveNdbc
() автор топика

Полез я читать их доку: есть подозрение вот в каком месте.

/usr/share/doc/NVIDIA_GLX-1.0/README.txt

When the installer is run, it will determine if it has a precompiled kernel interface for the kernel you are running. If it does not have one, it will check if there is one on the NVIDIA FTP site (assuming you have an Internet connection), and download it. If one cannot be downloaded, either because the FTP site cannot be reached or because one is not provided, the installer will check your system for the required kernel sources and compile the interface for you. You must have the source code for your kernel installed for compilation to work. On most systems, this means that you will need to locate and install the correct kernel-source or kernel-headers package; on some newer distributions, no additional packages are required (e.g. Fedora Core 3, Red Hat Enterprise Linux 4).

Note that linking of the kernel interface (in the case that the interface was downloaded or compiled at installation) requires you to have a linker installed on your system. The linker, usually '/usr/bin/ld', is part of the binutils package. If a precompiled kernel interface is not found, you must install a linker prior to installing the NVIDIA driver.

Может нету этого layer'а?

Unforgiven
()
Ответ на: комментарий от Unforgiven

нету и инсталлер об этом говорит. далее предлагает скачать - нафиг надо :) говоришь - нет и он предлагает билдить новый жмешь ок и все

RaveNdbc
() автор топика
Ответ на: комментарий от Unforgiven

И кстати, no-dashi, нехорошо детей обманывать:)

Q. How and when are the the NVIDIA device files created?

A. Depending on the target system's configuration, the NVIDIA device files used to be created in one of three different ways:

o at installation time, using mknod

o at module load time, via devfs (Linux device file system)

o at module load time, via hotplug/udev

З.Ы. Автор, тоже почитай --- особенно след. вопрос:)

Q. I just upgraded my kernel, and now the NVIDIA kernel module will not load. What is wrong?

Unforgiven
()
Ответ на: комментарий от RaveNdbc

в принципе теперь понятно почему инсталлер ругается на nvidia.o что он не с тех исходников был сделан. исходники то лежат от .4.32 а ядро грузится .4.31 хоть и с конфигом от .4.32

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

>> с этим погодю только что заметил забавную вещь. собрал и инстальнул .4.32 ребутнул. а грузится все равно .4.31 причем грузится используя конфиг от .4.32 бред...

C такими знаниями ничего работать не будет.

anonymous
()
Ответ на: комментарий от Unforgiven

да 2.6.15.6 обрадовала поддержка PCIE :) хотя agpgart все равно пытается загрузиться, хотя я его отключал.

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

agpgart снимается в /etc/rc.d/rc.modules путем закомментирования соответствующей строчки.

З.Ы. У тебя pppd корректно работает?

Unforgiven
()
Ответ на: комментарий от Unforgiven

ок как до дома доберусь поковыряю rc.

>З.Ы. У тебя pppd корректно работает?

до этого я еще не дошел надо pptp сначала слить и начать заниматься инетом. у меня комп в локалке и доступ идет через VPN.

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

и в догонку вопрос :) после установки нового ядра консоль запускается в дефолтном разрешении. я отвык честно говоря от такого размера шрифтов и со зрением у меня все в порядке. в lilo.conf установлен 791 режим - 1024х788х64к. но походу не срабатывает. пробовал менять на меньшие - никакой реакции. как лечить?

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

НАЧАЛОСЪЪЪЪЪ=)

Ты забыл famebuffer (почти наверняка:))

З.Ы. Щас посыпется: это тока в лучшем случае ты забыл только framebuffer. Сразу говорю: если включаешь фрембуфер, то надо указывать модуль для него и опцию support framebuffer console (или что-то типа того)

Unforgiven
()
Ответ на: комментарий от Unforgiven

> at installation time, using mknod

> at module load time, via devfs (Linux device file system)

> at module load time, via hotplug/udev

Последние два отпадают - в дефолтной "слаке" не 2.6 (в каковом нуждается udev) и не devfs :-)

no-dashi ★★★★★
()
Ответ на: комментарий от RaveNdbc

> в ядре была такая опция Nvidia framebuffer для geForce класса видях :)

Читай снова доку по драйверу NVIDIA_GLX - там английским по черному предупреждают - не надо пытаться использовать фрэймбуфер и эти драйвера одновременно :-)

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

riva fb я так понимаю для видюх типа riva 128, tnt, tnt2 и все производные. nvidia fb для geforce класса. к сожалению сейчас я на работе и не имею возможности почитать этот док.

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

[unforgiven | /lib/modules/2.4.31/kernel/drivers/video : 20:00:48] $ ls
итого 4,7M
drwxr-xr-x  7 root root 4,0K 2006-02-25 11:09 .
drwxr-xr-x 24 root root 4,0K 2005-06-06 07:55 ..
drwxr-xr-x  2 root root 4,0K 2005-06-06 07:56 aty
-rw-r--r--  1 root root  12K 2005-06-06 07:55 aty128fb.o.gz
-rw-r--r--  1 root root  15K 2005-06-06 07:55 clgenfb.o.gz
-rw-r--r--  1 root root 7,4K 2005-06-06 07:55 cyber2000fb.o.gz
-rw-r--r--  1 root root 1,9K 2005-06-06 07:55 fbcon-cfb2.o.gz
-rw-r--r--  1 root root 2,0K 2005-06-06 07:55 fbcon-cfb4.o.gz
-rw-r--r--  1 root root 2,0K 2005-06-06 07:55 fbcon-hga.o.gz
-rw-r--r--  1 root root 2,1K 2005-06-06 07:55 fbcon-mfb.o.gz
-rw-r--r--  1 root root 2,3K 2005-06-06 07:55 fbcon-vga-planes.o.gz
-rw-r--r--  1 root root 2,7K 2005-06-06 07:55 fbgen.o.gz
-rw-r--r--  1 root root 7,2K 2005-06-06 07:55 hgafb.o.gz
drwxr-xr-x  2 root root 4,0K 2005-06-06 07:56 intel
-rw-r--r--  1 root root 6,6K 2005-06-06 07:55 it8181fb.o.gz
drwxr-xr-x  2 root root 4,0K 2005-06-06 07:56 matrox
-rw-r--r--  1 root root 9,3K 2005-06-06 07:55 neofb.o.gz
-rw-r--r--  1 root root 4,5M 2006-02-25 11:09 nvidia.o
-rw-r--r--  1 root root 9,2K 2005-06-06 07:55 pm2fb.o.gz
-rw-r--r--  1 root root  15K 2005-06-06 07:55 pm3fb.o.gz
-rw-r--r--  1 root root  14K 2005-06-06 07:55 radeonfb.o.gz
drwxr-xr-x  2 root root 4,0K 2005-06-06 07:56 riva
drwxr-xr-x  2 root root 4,0K 2005-06-06 07:56 sis
-rw-r--r--  1 root root 8,7K 2005-06-06 07:55 sstfb.o.gz
-rw-r--r--  1 root root  11K 2005-06-06 07:55 tdfxfb.o.gz
-rw-r--r--  1 root root 8,9K 2005-06-06 07:55 tridentfb.o.gz
-rw-r--r--  1 root root 5,0K 2005-06-06 07:55 vga16fb.o.gz

Unforgiven
()
Ответ на: комментарий от Unforgiven

в аське тебя нет, поэтому пишу здесь установил модуль консольного фрэймбуфера (не riva, не nvidia) а простой. собрал ядро и модули. и кирдык. лило грузится, дму ентер, экран гаснет как будето режим меняет и все. черный экран и пару синих точек наверху.

грузился с gentoo liveCD. закоментил все что касается консоли в modules.dep , посмотрел rc.modules - там ничего о консоли. записал старое ядро из /boot, анинсталил дрова nvidia, чтобы уж точно не было конфликтов, в lilo.conf поставил режим vga=normal. и ничего. черный экран с парой синих точек.

RaveNdbc
() автор топика
Ответ на: комментарий от RaveNdbc

Значить ты просто жутко неправильно сконфигурировал ядро.

devinull ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.