2015-12-04 4 views
0

Мне нужно построить mmc_block.ko, но с MMC_BLOCK_MINORS=16. Я не хочу строить все ядро. Я использую Ubuntu 15.10. Как мне это сделать?Как перекомпилировать один модуль ядра Linux?

+0

Для этого вы можете указать параметр модуля. Не нужно перекомпилировать. 'mmcblk.perdev_minors' – 0andriy

+0

@ ЭндиШевченко Это не работает. Размонтирование всех разделов, запуск 'rmmod mmc_block', запуск' modprobe mmc_block perdev_minors = 16', а запуск 'cat/sys/module/mmc_block/mmc_block.perdev_minors' возвращает' 8'. – Melab

+0

Интересно, вы видите разницу между 'mmcblk.perdev_minors' и' perdev_minors'? Проверьте это: http://www.spinics.net/lists/linux-mmc/msg32391.html. У вашего ядра есть одно? Я думаю, что ответ «нет». – 0andriy

ответ

2

Рассматривая, как написан файл Makefile, модуль может быть скомпилирован из дерева ядра или дерева ядра.

Что касается вашего конкретного примера, я предполагаю, что модуль - это тот, который поставляется с ядром, и поэтому Makefile был написан для компиляции in-tree. В этом случае вы можете просто набрать make modules, чтобы перестроить модуль, при условии, что ядро ​​уже скомпилировано (что является обязательным условием также для компиляции вне дерева).

+0

Мне нужно перестроить один модуль, а не все из них. И мне нужно более подробно. Нужно ли перекомпилировать ядро? – Melab

+0

Формально ответ правильный, хотя в этом конкретном случае вопросник не нуждается в перекомпиляции модуля! – 0andriy

+0

Я понимаю. Однако название «Как перекомпилировать * * один модуль ядра Linux?» – Claudio

Смежные вопросы