Hi, This is the place where modprobe comes into play .If you have dependent module the on your module then it is recommended to use modprobe . After compiling your module run : 1. depmod -a 2. modprobe mod1 3. modprobe mod2 And as far as i know CONFIG_MODVERSION is basically for the module signature according to which you can't directly insert a .ko file compiled in another system. On 24 July 2015 at 11:19, Navy <navych@126.com> wrote:
Hi To my understanding, EXPORT_SYMBOL() is used to export a symbol in kernel/modules. The the address of the all sysbols is in /proc/kallsyms. Only symbols exported by EXPORT_SYMBOL() is listed its CRC information in Module.symvers. So I think the CRC is the key to export a symbol. I do an experiment:
---mdir | |---Mod1 | |---mod1.c | |---Makefile | |---Mod2 |---mod2.c |---Makefile
mod1.c define function *void myfunc(void)* and exported by EXPORT_SYMBOL() and the CRC info is showed in Module.symvers. mod2.c reference *myfunc* and compiled successfully. BUT when mod2.ko is insmoded, "unknown symbol" is complained. mod2.ko CAN'T BE INSMOD. I solve this problem by the method in Documentation/kbuild/modules.txt and heard this is a bug from kernel 2.6.
Why this bug is not be fixed?
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies