Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > из исходников ядра пересобрать и установить модуль


Автор: Denjs 29.5.2009, 23:41
имеем SuSe Linux 11.1, ядро 2.6.7.24 (кажется)

В результате того, что нужное мне устройство ( usb-шная трубка SkypeMate P1K ) упорно идентифицирует себя новым id (0xb700 а не 0xb001, как ожидается судя по исходникам), и следовательно не желает подхватываться нужным мне модулем ядра ( нужен yealink а не usbhid) - 
полагаю нужно внести патч в два модуля ядра и пересобрать их.... 
usbhid - надо в его черный список (бан-лист?))) ) добавить id ещё одного устройства и этот-же id добавить в yealink.)
Ну и установить естественно - но их и только их, дабы не порушить чего случайно. 

Пересобирать ядро ради 2-х модулей как-то очень не хочется.... во первых оно нормально работает в уже собранном виде, да и , чувствую, не сконфигурирую я его так что бы оно потом взлетело на моем EEEPC901.

судя по #make help, есть направление сборки вида #make modules - но там собираются все модули + #make modules_install (так кажется) устанавливает все модули, а мне "все" - нафиг не нужно. (да и долго это ... часа 4-5 занимает... в случае ошибки в правках - становится "не очень удобно" начинать все с начала... ))) )

Вопрос как собрать и переустановить только один или два модуля которые мне нужны? 
или я что-то пропустил из "make help"? куда хоть "рыть" и как? 

Автор: MAKCim 30.5.2009, 10:48
Цитата(Denjs @  29.5.2009,  23:41 Найти цитируемый пост)
собрать и переустановить только один или два модуля которые мне нужны? 

ну так выбери нужные *.c файлы
пропатчи их и скопмиль 
Код

# make /usr/src/linux M=`pwd`

в Makefile
Код

obj-m += <module name>.o
objs-<module name> += <file 1>.o <file 2>.o ...


возможно, можно скомпилить их прямо из соответствующей ветки исходного кода ядра

Автор: Denjs 1.6.2009, 01:30
В общем пересобрал я все модули через "make modules".
Сделал бакап "/lib/modules/....." и после запустил "make modules_install"....

в общем нужный мне модуль yealink просто отказывается грузиться. (другие думаю будут аналогично)

В общем в ответ на "modprobe yealink" выдает ...."бла-бла-бла ..... Invalid Module Format". в dmesg появляется "yealink: no symbol version for struct_module"..

к чему это, признаться ума не приложу...
"depmod -a" перед "modprobe yealink" вроде сделал... но без разницы...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)