По работе делаю небольшой проект - SCSI driver for virtual disk. Немного изменил кернел, перекомпилировал, написал модуль, получил ошибку и т.д.
В общем не очень работает Есть несколько вопросов с продолжением, в зависимости от ответов.
Если кому не влом это дело обсудить - бросьте телефон в личку, я позвоню. За мной пиво или что там сегодня котируется
А вы его:
- проверьте совпадают ли версии кернела а то у вас 2.6.28.9 и 2.6.28.?????
- лучше скопируйте модуль в кернел трее и компилируйте непосредственно в кернеле;
- попробуйте скомпилировать как билдин в кернеле а не как модули (существуюший модуль обычно можно в конфигурационном фаиле в кернел забить).;
- компилятор вам явно намекает что у вас парочка функций неопределена
Версия кернела одна и таже. Я её сгрузил, скомпилировал и установил. Потом я скомпилировал оба модуля в этом же кернеле.
Т.е. с версиями проблем не должно быть. Намёк компилятора я понимаю. Осталась мелочь ...
Может я в Makefile должен как-то указать что модуль "scst-proxy" пользуется другим модулем "scst"?
А что modules.dep кажет?
зависит ваш модуль от исходного (посмотрите в исходном EXPORT_SYMBOL или чо там...).
Вообще ваш фраме-ворк работает? скомпилируйте простейший (типа принтк ХХХ) грузится?
Извините за вопросы не знаю на какой вы стадии копания в кернеле...
1. Copy the .ko file to a location beneath /lib/modules/<version>/kernel
2. Add the exported symbols to /lib/modules/<version>/build/Module.symvers
3. Reboot
4. Enjoy
Groundhog, thanks for ideas and sorry for bothering