Чтобы собрать только один модуль входящий в комплект ядра, но отключенный в конфигурации,
без пересборки остальных частей (на примере ntfs):make CONFIG_NTFS_FS=m CONFIG_NTFS_DEBUG=n CONFIG_NTFS_RW=n M=fs/ntfs
URL: http://www.raoul.shacknet.nu/2005/12/20/build-a-single-nativ.../
Обсуждается: https://www.opennet.ru/tips/info/948.shtml
Видимо, автор считает очевидным список переменных, которые необходимо указать make'у. Возьму на себя смелость сказать вслух: они берутся из файла Kconfig, лежащего в нужном каталоге (в примере: fs/ntfs).
И ещё одно замечание: такой фокус не всегда срабатывает. Вот пример из личного опыта. Собрано ядро без поддержки дисковых квот. Потом собран модуль XFS с поддержкой квот (как известно, квоты на XFS имеют независимую от других ФС реализацию). Модуль прекрасно загружается и работает, но управлять квотами нельзя, потому что при сборке ядра системный вызов quotactl за ненадобностью был заменён заглушкой.
Я решил скомпилять модуль поддержки SCSI для своего ATAPI CD-RW:
make BLK_DEV_SR=M M=drivers/scsi
Он скомпилировал мне всё,что указано в ветке scsi (так как для модуля sr_mod отсутствует отдельный каталог с файлом Makefile).
Но не скомпилировал мне модуль sr_mod, так как он не был указан в файле конфигурации (.config). Я добавил его туда:
CONFIG_BLK_DEV_SR=m
затем повторил команду компиляции, скопировал его в каталог с драйверами, обновил индекс и запустил его:
cp drivers/scsi/sr_mod.ko /lib/modules/2.6.14stimpack/kernel/drivers/scsi/
depmod -a
modprobe sr_modЕдинственная польза от этой заметки, что я компилял не все драйвера, а лишь ветку, указанную в M=
По-моему, проще запустить make menuconfig из папки с исходниками ядра; конфигурируем так, как нам надо, сохраняем изменения. Потом make modules. После компиляции make modules_install - и откомпилированные модули лежат в /lib/modules/...
По хорошему надо пересобраться ядро с нужным конфигом и перезапустить. Если перезапускать не хоцца, то есть риск, что модули либо вообще не загрузятся, либо будут некорректно работать.
Автор! Большое Спасибо! :)
я экспериментировал и у меня получилась следующая команда из папки исходников
make modules M="путь к папке с модулем в исходниках"
и в этой папке модуля будет сформирован модуль
make modules M="путь к папке с модулем в исходниках"Покажите рабочий пример пожалуйста