компиляция модуля

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Swiss
Сообщения: 30

компиляция модуля

Сообщение Swiss »

такая проблема - для правильной работы ТВ тюнера добавил несколько строк в модули типа saa7134.ko и др,
теперь надо их откомпилировать, в сети нашел только описание установки либо rpm либо tar, а здесь ни configure ни make не работают, варианты типа
make -C <path-to-kernel> M=`pwd` или make -C /lib/modules/`uname -r`/build M=`pwd` как описано в modules.txt не проходят, пишет либо
"Не заданы цели и не найден make-файл. Останов." либо
"Нет правила для сборки цели"

где почитать можно, как правильно сделать?
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: компиляция модуля

Сообщение BlackStar »

Так а Makefile существует?
LightLang Team
Спасибо сказали:
MIX@
Сообщения: 111
ОС: Deepstyle current (Slackware)

Re: компиляция модуля

Сообщение MIX@ »

Чаго-то я не совсем усёк, что и как пытаешься сделать...
Если нужно перекомпилировать модули, то из папки с сырцами ядра (обычно /usr/src/linux) делаешь:
make modules && make modules_install
Добро должно быть с кулаками
Спасибо сказали:
Swiss
Сообщения: 30

Re: компиляция модуля

Сообщение Swiss »

MIX@ писал(а):
24.11.2006 19:42
Чаго-то я не совсем усёк, что и как пытаешься сделать...
Если нужно перекомпилировать модули, то из папки с сырцами ядра (обычно /usr/src/linux) делаешь:
make modules && make modules_install


в папке есть только файлы типа .o, а делаю так как написано на сайте Beholder, только вот обновить модули не получается. Я правильно понял - обновлять модули надо не для каждой папки, где делал исправления, а для всех из одного места - "о из папки с сырцами ядра (обычно /usr/src/linux) делаешь:
make modules && make modules_install" ?
Спасибо сказали:
MIX@
Сообщения: 111
ОС: Deepstyle current (Slackware)

Re: компиляция модуля

Сообщение MIX@ »

Swiss писал(а):
25.11.2006 01:07
в папке есть только файлы типа .o, а делаю так как написано на сайте Beholder, только вот обновить модули не получается. Я правильно понял - обновлять модули надо не для каждой папки, где делал исправления, а для всех из одного места - "о из папки с сырцами ядра (обычно /usr/src/linux) делаешь:
make modules && make modules_install" ?

Я так полагаю, накладывался патч на ядро? (Просто не читал информацию с сайта Beholder) Ну обновить все модули - это самый универсальный и простой вариант, однако, не самый быстрый, ибо будут перекомпилированы все модули =) Есть ещё один вариант - перекомпилировать вручную, т.е. выполнить что-то в этом роде: "gcc module.c" (разумеется, это только пример, в реале необходимо будет указать несколько параметров компилятору) из соответсвующей папки сырцов ядра, где хранятся патченные исходники модуля. Или, что лучше - посмотреть в Makefile правила для сборки конкретного модуля.
Добро должно быть с кулаками
Спасибо сказали:
Swiss
Сообщения: 30

Re: компиляция модуля

Сообщение Swiss »

MIX@ писал(а):
25.11.2006 15:12
Swiss писал(а):
25.11.2006 01:07

в папке есть только файлы типа .o, а делаю так как написано на сайте Beholder, только вот обновить модули не получается. Я правильно понял - обновлять модули надо не для каждой папки, где делал исправления, а для всех из одного места - "о из папки с сырцами ядра (обычно /usr/src/linux) делаешь:
make modules && make modules_install" ?

Я так полагаю, накладывался патч на ядро? (Просто не читал информацию с сайта Beholder) Ну обновить все модули - это самый универсальный и простой вариант, однако, не самый быстрый, ибо будут перекомпилированы все модули =) Есть ещё один вариант - перекомпилировать вручную, т.е. выполнить что-то в этом роде: "gcc module.c" (разумеется, это только пример, в реале необходимо будет указать несколько параметров компилятору) из соответсвующей папки сырцов ядра, где хранятся патченные исходники модуля. Или, что лучше - посмотреть в Makefile правила для сборки конкретного модуля.


ОК попробую, спасибо
Спасибо сказали:
Аватара пользователя
Vorb
Сообщения: 166
Статус: Ярый антифорточник
ОС: Gentoo Linux

Re: компиляция модуля

Сообщение Vorb »

Если надо собрать чисто модуль ядра - пишешь Makefile прибл. такого содержания: obj-m += modulename.o
Потом make -C /usr/src/linux SUBDIRS=$PWD modules
И на обломках Microsoft напишут наши имена!
Спасибо сказали: