5

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

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

4

2 回答 2

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
于 2010-02-10T16:44:26.097 回答
0

你不需要。depmod 将遍历当前 /lib/modules/ 目录中的所有模块,并基于未解析的符号构建它的依赖关系树。

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

于 2010-02-10T16:25:20.887 回答