Как заставить один модуль ядра Linux зависеть от другого внешнего модуля с помощью depmod? - PullRequest
5 голосов
/ 10 февраля 2010

Я пишу модуль ядра, который зависит от одного существующего модуля ядра. Я строю свой модуль из дерева (как внешний модуль).

Как я могу объявить зависимость, чтобы она распознавалась depmod?

Ответы [ 2 ]

4 голосов
/ 10 февраля 2010

Хотя это не совсем удовлетворительно, лучшее, что я придумал, чтобы заставить modprobe работать, - это либо добавить запись в modules.dep

# tail -1 modules.dep
../../../../home/ctuffli/mymod/mymod.ko: kernel/drivers/scsi/libsas/libsas.ko kernel/drivers/scsi/scsi_transport_sas.ko

или, альтернативно, символически связать модуль вне дерева с /lib/modules/ и позволить depmod выяснить зависимости

# ln -s /home/ctuffli/mymod/mymod.ko /lib/modules/2.6.31-19-server/kernel/drivers/scsi/
# depmod
# grep mymod /lib/modules/2.6.31-19-server/modules.dep
kernel/drivers/scsi/mymod.ko: kernel/drivers/scsi/libsas/libsas.ko kernel/drivers/scsi/scsi_transport_sas.ko
0 голосов
/ 10 февраля 2010

Вам не нужно. depmod будет запускать все модули в текущем каталоге / lib / modules / и строить дерево зависимостей на основе неразрешенных символов.

По умолчанию предполагается, что любой символ, не предоставленный другим модулем, находится в ядре, однако вы можете использовать параметры -e / -F, чтобы проверить, что это также верно.

...