URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 2393
[ Назад ]

Исходное сообщение
"Не загружаются модули нового ядра"

Отправлено Jafeifija , 01-Янв-09 15:05 
Недавно поменяла железо и сменила дистрибутив. Установила Slackware 12.1 с ядром 2.6.24.5. Пересобрала ядро под свои потребности (на прежнем железе использовала Slackware 11 с ядрами ветки 2.4.х). Решила установить ядро поновее, скачала 2.6.27.7. Собираю и устанавливаю ядро с поддержкой модулей:
make mrproper
make xconfig
make bzImage
make modules
make modules_install
make install.
Перезагружаюсь на новое ядро (uname -a показывает, что загрузилось именно 2.6.27.7), однако в процессе загрузки появляется сообщение, что модули нового ядра не найдены - соответсвенно, система не работает ни с dvb, ни с другими подключенными как модули девайсами.
Начинаю разбираться - каталог /lib/modules/2.6.27.7 создан, в нём присутствуют подкаталоги для всех устройств, поддержку которых модулями я включила в файле конфигурации. А вот файла rc.modules-2.6.27.7 в каталоге /etc/rc.d нет, есть только rc.modules-2.6.24.5. Как я понимаю, из-за отсутсвия этого файла и не грузятся модули нового ядра. С прежним ядром, 2.6.24.5, система грузится и работает как положено.
Как мне создать для нового ядра файл /etc/rc.d/rc.modules-2.6.27.7?

Содержание

Сообщения в этом обсуждении
"Не загружаются модули нового ядра"
Отправлено Savl , 02-Янв-09 20:10 
...
>make mrproper
>make xconfig
>make bzImage
>make modules

Хорошая практика - конфигурировать и собирать ядро, используя привилегии обычного пользователя. Вместо make bzImage и make modules достаточно выполнить просто команду make

>make modules_install
>make install

Так как содержимое и функции файла rc.modules - загадка, а загрузка модулей относится к функциям ядра, можно ли уточнить, есть ли во вновь созданной директории в каталоге /lib/modules/<new version>/ линки на директории с исходными файлами и директорию, где производилась сборка? Есть ли в этой же директории файл modules.dep?


"Не загружаются модули нового ядра"
Отправлено Jafeifija , 03-Янв-09 13:24 
>[оверквотинг удален]
>>make bzImage
>>make modules
>
>Хорошая практика - конфигурировать и собирать ядро, используя привилегии обычного пользователя. Вместо
>make bzImage и make modules достаточно выполнить просто команду make
>
>>make modules_install
>>make install
>
>Так как содержимое и функции файла rc.modules - загадка, а загрузка модулей относится к функциям ядра, можно ли уточнить, есть ли во вновь созданной директории в каталоге /lib/modules/<new version>/ линки на директории с исходными файлами и директорию, где производилась сборка? Есть ли в этой же директории файл modules.dep?

Да, линки на директорию с исходниками и директорию сборки есть, и файл modules.dep тоже есть. Вот полное содержание каталога /lib/modules/2.6.27.7:
/kernel
~source
~build
modules.alias
modules.ccwmap
modules.dep
modules.ieee1394map
modules.inputmap
modules.ofmap
modules.pcimap
modules.seriomap
modules.symbols
modules.usbmap
modules.order.



"Не загружаются модули нового ядра"
Отправлено Savl , 04-Янв-09 23:45 
Интересно узнать откуда Вы получаете сообщения о том, что модули не могут быть найдены, но так же интересно узнать результат выполнения корректной процедуры сборки, которой считаю следующую последовательность: с привилегиями обычного пользователя собрать ядро, выполнив
make mrproper ; make xconfig ; make ;
Затем, с привилегиями root'а произвести установку, выполнив
make modules_install ; make install ;
После этого, если ничего не изменится, уже попрошу у Вас dmesg и копию сообщения об отсутствующих модулях.
Ешё, простите за нескромный вопрос, что известно про состояние selinux при запуске?

"Не загружаются модули нового ядра"
Отправлено Jafeifija , 05-Янв-09 00:21 
>[оверквотинг удален]
>быть найдены, но так же интересно узнать результат выполнения корректной процедуры
>сборки, которой считаю следующую последовательность: с привилегиями обычного пользователя собрать ядро,
>выполнив
>make mrproper ; make xconfig ; make ;
>Затем, с привилегиями root'а произвести установку, выполнив
>make modules_install ; make install ;
>После этого, если ничего не изменится, уже попрошу у Вас dmesg и
>копию сообщения об отсутствующих модулях.
>Ешё, простите за нескромный вопрос, что известно про состояние selinux при запуске?
>

В процессе загрузки по экрану бегут сообщения о происходящих событиях. С определённого момента идут записи о том, что FATAL ERROR: модуль соответсвующего устройства not found. По поводу корректной процедуры сборки: выделила чистый раздел на винчестере, поставила туда всё ту же Слаку 12.1, но обновлялась на другую версию ядра (2.6.27.2). Сборка велась под обычным пользователем, установка - после su. Результат прежний, грузится новое ядро и не находит своих модулей - в том числе X-сы не стартуют с проприетарным драйвером от nVidia, установленным в системе со стандартным ядром, пишет что-то типа nvidia.ko not found (отвечаю Вам не с домашней машины, поэтому точнее не скажу и вывод dmesg выложу только завтра утром. Тогда же уточню и состояние selinux).


"Не загружаются модули нового ядра"
Отправлено Jafeifija , 05-Янв-09 23:21 
Selinux грузится в режиме permissing. Я сделала следующее.
Заново собрала ядро 2.6.27.7, из-под простого пользователя
make mrproper
make xconfig (отключила selinux в ядре, после как-нибудь с ним буду разбираться, сначала man'ы почитать надо)
make (кстати, мне нигде в литературе не встречалось, что make в этом месте заменяет make bzImage и make modules, огромное спасибо за науку, Savl!), затем su и с правами рута
make modules_install
make install.
Перегружаюсь, сообщений об ошибках нет (это заметно хотя бы по тому, что сразу монтируются разделы ntfs, раньше после попытки примонтировать раздел выскакивало "Module fuse not found", X-сы запустились с драйвером nVidia. Но остались строки
Running /etc/rc.d/rc.modules -> rc.modules-2.6.24.5-smp:
Module dependencies up to date (no new kernel modules found).
Т.е. файла /etc/rc.d/rc.modules-2.6.27.7 у меня так и нет, а /etc/rc.d/rc.modules является ссылкой на файл от старого ядра rc.modules-2.6.24.5-smp %-(



"Не загружаются модули нового ядра"
Отправлено rii , 06-Янв-09 01:15 
>Running /etc/rc.d/rc.modules -> rc.modules-2.6.24.5-smp:
>Module dependencies up to date (no new kernel modules found).
>Т.е. файла /etc/rc.d/rc.modules-2.6.27.7 у меня так и нет, а /etc/rc.d/rc.modules является ссылкой
>на файл от старого ядра rc.modules-2.6.24.5-smp %-(

   Это не важно. rc.modules на самом деле написан без жёстких требований к версии ядра. Ну уж если чего нибудь не заработает, то тогда надо будет своё писать. А в твоём случе врятли понадабятся ещё какие нибудь движения.


"Не загружаются модули нового ядра"
Отправлено Savl , 07-Янв-09 22:20 
Сразу хочу поблагодарить за тёплые слова по поводу незначительной поправки в процедуре сборки - существующие цели(targets) можно посмотреть в самом Makefile или, если интересны библиографические ссылки, актуальная процедура сборки комментируется, к примеру, в
Linux Kernel in a Nutshell, Greg Kroah-Hartman, O'Reilly
По существу же Вашего вопроса - в Slackware версии до 12, как оказывается при ближайшем рассмотрении, необходимо при установке ядра, собранного из исходных файлов, создать rc.modules с необходимыми изменениями - /etc/rc.d/rc.modules-$(uname -r) автоматически не создаётся.
В качестве шаблона для правки можно использовать файл с установочного диска Slackware:
/source/k/kernel-modules-smp/rc.modules.new

"Не загружаются модули нового ядра"
Отправлено Vladimir , 06-Янв-09 10:45 
>> (отвечаю Вам не с домашней машины, поэтому точнее не скажу и вывод dmesg выложу только завтра утром. Тогда же уточню и состояние selinux).

Откуда в slackware selinux?