如何制作一个Linux内核模块依赖于另一个带有depmod的外部模块?

时间:2010-02-10 15:19:38

标签: linux linux-kernel kernel-module

我正在编写一个依赖于一个现有内核模块的内核模块。我正在从树中构建我的模块(作为外部模块)。

如何声明依赖项,以便depmod?

识别它

2 个答案:

答案 0 :(得分:4)

虽然并不完全令人满意,但我提出的让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

答案 1 :(得分:0)

你不需要。 depmod将运行当前/ lib / modules /目录中的所有模块,并根据未解析的符号构建它的依赖树。

默认情况下,它会假设其他模块未提供的任何符号都在内核中,但您可以使用-e / -F选项来检查是否也是这种情况。