Вчера обновил мир, прилетело новое ядро 2.6.39.4. Пересобрал ядро, пересобрал модули, пытаюсь загрузиться - чёрный экран.
Выдержки из логов:
kdm.log
FATAL: Error inserting nvidia (/lib/modules/2.6.39.4-calculate/video/nvidia.ko): No such device
(EE) NVIDIA: Failed to load the NVIDIA kernel module. Please check your
(EE) NVIDIA: system's kernel log for additional error messages.
(EE) Failed to load module "nvidia" (module-specific error, 0)
(EE) No drivers available.
Fatal server error:
no screens found
messages
Aug 25 21:19:13 calculate kernel: nvidia: module license 'NVIDIA' taints kernel.
Aug 25 21:19:13 calculate kernel: Disabling lock debugging due to kernel taint
Aug 25 21:19:13 calculate kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s).
Aug 25 21:19:13 calculate kernel: NVRM: This can occur when a driver such as nouveau, rivafb,
Aug 25 21:19:13 calculate kernel: NVRM: nvidiafb, or rivatv was loaded and obtained ownership of
Aug 25 21:19:13 calculate kernel: NVRM: the NVIDIA device(s).
Aug 25 21:19:13 calculate kernel: NVRM: Try unloading the conflicting kernel module (and/or
Aug 25 21:19:13 calculate kernel: NVRM: reconfigure your kernel without the conflicting
Aug 25 21:19:13 calculate kernel: NVRM: driver(s)), then try loading the NVIDIA kernel module
Aug 25 21:19:13 calculate kernel: NVRM: again.
Aug 25 21:19:13 calculate kernel: NVRM: No NVIDIA graphics adapter probed!
Aug 25 21:19:13 calculate kdm[3232]: X server died during startup
Aug 25 21:19:13 calculate kdm[3232]: X server for display :0 cannot be started, session disabled
Лог Xorg с ошибкой не сохранился, но там ничего интересного не было. Только сообщение о том, что nvidia не может загрузиться.
P.P.S. Вспомнил, что при обновлении была какая-то питоновская ошибка при вытягивании исходников ядра. Двум ядрам, видимо, тесно стало, у меня раздел забит. Может, чего-нибудь недоразвернулось? Но мне как-то боязно старое ядро совсем сносить - вдруг это не поможет?
Освободил 2Гб места, пересобрал ядро и модули - результат тот же - чёрный экран. Глядя на вышеприведённые логи, думается, что проблема в конфликте с какими-то свободными драйверами.
Взываю о помощи вторично.
И ещё один момент, после emerge -ac исходники старого ядра уменьшились в размере с 1 до 0,5Гб. Это удалились откомпилированные модули какие-то? Я к тому, что смогу ли я откатиться на старое ядро в случае чего? Сейчас я на старом сижу (2.6.38.8).
Если ядро компилировали вручную(не бинарное), то и модули ядра должны быть скомпилированы вручную. Если у вас профиль бинарный, то самый простой вариант перевести систему на НЕбинарный профиль, выполнить module-rebuild -X rebuild и перевести обратно.
И ещё один момент, после emerge -ac исходники старого ядра уменьшились в размере с 1 до 0,5Гб. Это удалились откомпилированные модули какие-то?
Это удалилось все то, что не изменялось в пакете, т.е. сорцы. Осталось все что изменялось (или изменялась дата их изменения). По большей части это временные файлы.
Я к тому, что смогу ли я откатиться на старое ядро в случае чего?
На сколько я понимаю, удаление через emerge пакета ядра не затрагивает само ядро в /boot и модули для этого ядра в /lib/modules.
PS
Пересобрал ядро, пересобрал модули
Собственно, а зачем было пересобрано ядро? Если ядро ставится бинарное, либо если с ключем vmlinuz, то пакет уже содержит вполне себе работоспособное ядро, годное для большинства задач.
Не подключены модули ядра -“FATAL: Error inserting nvidia (/lib/modules/2.6.39.4-calculate/video/nvidia.ko): No such device”. Скорее всего подцепились к предыдущей версии ядра, либо новое название ядра отличается от системного.
Можно попробовать использовать следующую команду для сборки:
cl-kernel -o -m && module-rebuild -X rebuild.
Можно также указать опцию --no-clean (см. cl-kernel --help), чтобы не пересобирать уже готовые модули.
P.S.
для подключения nvidia вначале попробуйте *modprobe r nvidia && modprobe nvidia && eselect opengl set nvidia* возможно поможет.
Действительно - ядро устанавливается сразу в бинарном виде. Правда, проблему решил виндузятным способом - переустановил систему. Но драйвера теперь nouveau, а не nvidia. Зачем они?
Проприетарные драйвера можно запустить только если при загрузке grub поднимет uvesafb. Поэтому изменить настройки xorg.conf недостаточно. Для смены настроек можно воспользоваться шаблонами утилит Calculate.
Система установится с nvidia только в случае, если Вы при загрузке диска выберете проприетарный видеодрайвер, нажав клавишу F2 в isolinux меню. Либо укажете видеодрайвер во время установки изменив значение переменной.
P.S. Если опция “–startup” недоступна, обновите утилиты, либо используйте опцию “–live”.
Александр, сделал по вашему указанию - итог плачевный, всё тот же чёрный экран. Не хочет нВидиа дружить с нуво :(. Вернулся на нуво. По крайней мере с ним всё работает.
Видеокарта 9500 GT, но эти же драйвера работали на ядре 38.8. Подозреваю, что решение в том, чтобы пересобрать ядро, предварительно вычистив из настроек нуво.
Подтверждаю ту же проблему с черным экраном на карточке от Nvidia GT600.
Для себя списал сие на некомпетентность свою, и откатился на старую версию ядра.