The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

   make CONFIG_NTFS_FS=m CONFIG_NTFS_DEBUG=n CONFIG_NTFS_RW=n M=fs/ntfs
 
23.02.2006 , Источник: http://www.raoul.shacknet.nu/2005/1...
Ключи: linux, module, build, make, kernel / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ RSS ]
  • 1.1, const86 (ok), 15:45, 23/02/2006 [ответить]  
  • +/
    Видимо, автор считает очевидным список переменных, которые необходимо указать make'у. Возьму на себя смелость сказать вслух: они берутся из файла Kconfig, лежащего в нужном каталоге (в примере: fs/ntfs).
    И ещё одно замечание: такой фокус не всегда срабатывает. Вот пример из личного опыта. Собрано ядро без поддержки дисковых квот. Потом собран модуль XFS с поддержкой квот (как известно, квоты на XFS имеют независимую от других ФС реализацию). Модуль прекрасно загружается и работает, но управлять квотами нельзя, потому что при сборке ядра системный вызов quotactl за ненадобностью был заменён заглушкой.
     
  • 1.2, stimpack (?), 07:44, 26/02/2006 [ответить]  
  • +/
    Я решил скомпилять модуль поддержки 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=

     
  • 1.3, Alex (??), 17:32, 27/02/2006 [ответить]  
  • +/
    По-моему, проще запустить make menuconfig из папки  с исходниками ядра; конфигурируем так, как нам надо, сохраняем изменения. Потом make modules. После компиляции make modules_install - и откомпилированные модули лежат в /lib/modules/...
     
     
  • 2.4, const86 (ok), 00:12, 28/02/2006 [^] [^^] [^^^] [ответить]  
  • +/
    По хорошему надо пересобраться ядро с нужным конфигом и перезапустить. Если перезапускать не хоцца, то есть риск, что модули либо вообще не загрузятся, либо будут некорректно работать.
     

  • 1.5, sql (?), 23:54, 28/10/2008 [ответить]  
  • +/
    Автор! Большое Спасибо! :)
     
  • 1.6, richman1000000 (?), 18:56, 20/07/2012 [ответить]  
  • +/
    я экспериментировал и у меня получилась следующая команда из папки исходников
    make modules M="путь к папке с модулем в исходниках"
    и в этой папке модуля будет сформирован модуль
     
  • 1.7, levantuev (??), 00:21, 05/12/2012 [ответить]  
  • +/
    make modules M="путь к папке с модулем в исходниках"

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру