не загружаются модули ядра [РЕШЕНО]

поставил Gentoo 2007.0, ядро 2.6.19-gentoo-r5

выполнил emerge nvidia-drivers и emerge ltmodem

всё прошло успешно, соответствующие модули ядра (*.ko) были созданы в /lib/modules
однако загрузить эти модули (insmod или modprobe) не получилось, выдаётся сообщение
cannot load module ... : invalid module format
это же сообщение видно и при загрузке системы

создал свой модуль ядра вот с таким тривиальным кодом:

#include
#include
#include

int __init init_module (void) {
return 0;
}

void __exit cleanup_module (void) {
}

в Makefile написал

obj-m += kodummy.o

выполняю команду

make -C/usr/src/linux-2.6.19-gentoo-r5 SUBDIRS=$PWD modules

опять же файл *.ko создаётся, никаких сообщений при сборке не выводится
пробую его загрузить (insmod) - то же самое: invalid module format

при этом nm этот файл читает, все символы выводит правильно
более того - этот же модуль прекрасно загружается и выгружается в Ubuntu c ядром 2.6.20-15-generic

ядро конфигурировал, MODULES стоит в YES

куда двигаться дальше?

спасибо

По моему, дело в

По моему, дело в ядре. Попробуйте CONFIG_MODVERSIONS=y. Может дело в этом.

дело в ядре, конечно

дело в ядре, конечно. старое - потому что такое было в дистрибутиве. но ведь вряд ли в версиях ядра до 2.6.19 нельзя было загружать модули, правда? нужно как-то его правильно сконфигурировать. CONFIG_MODVERSIONS и так стоит в YES, это я с самого начала попробовал

Что ж ядро-то

Если не

Если не ошибаюсь ругается потому что нет:
MODULE_LICENSE{"GPL");
MODULE_AUTHOR("BlaBla");

Пример модуля hello_world есть в книжке:
http://www.gentoo.ru/node/7764

та же мысль

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

не оно

в общем, с MODULE_AUTHOR тоже не помогло
invalid module format и всё тут
ещё идеи?

взять прмер

взять прмер модуля и начать его "обрезать"

попробую

попробую, но подозреваю, что и рабочий пример из книжки не загрузится
ещё раз: то, что я написал, загружается в других системах (в одной как минимум) - это явно рабочий модуль
что-то с ядром не так, а не с модулем

так и получилось

так и получилось - пример из книжки не заработал, всё то же самое
видимо, остаётся только ядро пересобрать

а чтонить по

а чтонить по этому поводу грит
dmesg | tail
?

продвижение

dmesg | tail действительно оказался очень полезен
там было написано что vermagic у всех этих незагружающихся модулей содержит строку PENTIUM4 а надо чтобы была строка 686 и к тому же 4KSTACK
я запустил make config для ядра там отметил тип процессора 686 вместо Pentium 4 и поставил галочку 4KSTACK
запустил make prepare и make modules_prepare
после этого пересобрал свой пустой модуль (код см. выше)
vermagic действительно стал содержать строки 686 и 4KSTACK
я его попробовал вставить (insmod) и получил сообщение segmentation failed после чего lsmod вообще не запускалась
я перезагрузился и запустил emerge ltmodem (вот тут-то и была моя ключевая ошибка - надо было до конца разобраться со своим модулем)
всё собралось я запустил modprobe ltserial и modprobe ltmodem
одна из этих команд прошла успешно другая тоже выдала segmentation failed
я перезагрузился - и с тех пор Gentoo не может загрузиться
при загрузке модуля ltserial происходит ошибка я нажимаю ^C загрузка продолжается но останавливается на шаге mounting local filesystems
теперь главный вопрос: где убрать упоминание об этом модуле? соответствующие строки в /etc/modules.conf я вроде закомментировал а он всё равно пытается грузиться. можно ли это вообще сделать не загружая это ядро?

Это всего

Это всего навсего означает что у вас ядро и модули собраны разными компиляторами =) вот и все =)
___________________________________________
Gentoo GNU/Linux 2.6.25 GCC 4.2.3 && GCC 4.3.0
Working on Gentoo for iPAQ hx4700 :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

да это понятно

да это понятно и так
как теперь-то сделать чтобы ядро при загрузке эти модули не грузило?

fin

в общем не получилось у меня как-нибудь изящно эту проблему решить
пересобрал ядро пересобрал все модули под ним
всё естественно стало загружаться

всем спасибо

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".