我正在编写一个内核模块,它依赖于一个现有的内核模块。我正在从树中构建模块(作为外部模块)。
我如何声明依赖项,使其被depmod所识别?
发布于 2010-02-10 16:44:26
虽然并不完全令人满意,但我想出的使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-10 16:25:20
你不需要这么做。depmod将运行当前/lib/ modules /目录中的所有模块,并基于未解析的符号构建它的依赖树。
默认情况下,它将假设内核中没有由其他模块提供的任何符号,但是您也可以使用-e/-F选项来检查这种情况。
https://stackoverflow.com/questions/2237871
复制相似问题