URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 13610
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"

Отправлено auto_tips , 23-Фев-06 15:45 
Чтобы собрать только один модуль входящий в комплект ядра, но отключенный в конфигурации,
без пересборки остальных частей (на примере 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.../
Обсуждается: http://www.opennet.ru/tips/info/948.shtml


Содержание

Сообщения в этом обсуждении
"Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"
Отправлено const86 , 23-Фев-06 15:45 
Видимо, автор считает очевидным список переменных, которые необходимо указать make'у. Возьму на себя смелость сказать вслух: они берутся из файла Kconfig, лежащего в нужном каталоге (в примере: fs/ntfs).
И ещё одно замечание: такой фокус не всегда срабатывает. Вот пример из личного опыта. Собрано ядро без поддержки дисковых квот. Потом собран модуль XFS с поддержкой квот (как известно, квоты на XFS имеют независимую от других ФС реализацию). Модуль прекрасно загружается и работает, но управлять квотами нельзя, потому что при сборке ядра системный вызов quotactl за ненадобностью был заменён заглушкой.

"Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"
Отправлено stimpack , 26-Фев-06 07:44 
Я решил скомпилять модуль поддержки 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=


"Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"
Отправлено Alex , 27-Фев-06 17:32 
По-моему, проще запустить make menuconfig из папки  с исходниками ядра; конфигурируем так, как нам надо, сохраняем изменения. Потом make modules. После компиляции make modules_install - и откомпилированные модули лежат в /lib/modules/...

"Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"
Отправлено const86 , 28-Фев-06 00:12 
По хорошему надо пересобраться ядро с нужным конфигом и перезапустить. Если перезапускать не хоцца, то есть риск, что модули либо вообще не загрузятся, либо будут некорректно работать.

"Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"
Отправлено sql , 28-Окт-08 23:54 
Автор! Большое Спасибо! :)

"Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"
Отправлено richman1000000 , 20-Июл-12 18:56 
я экспериментировал и у меня получилась следующая команда из папки исходников
make modules M="путь к папке с модулем в исходниках"
и в этой папке модуля будет сформирован модуль

"Как собрать отключенный в конфигурации Linux 2.6 ядра модуль"
Отправлено levantuev , 05-Дек-12 00:21 
make modules M="путь к папке с модулем в исходниках"

Покажите рабочий пример пожалуйста