我在内核.c文件中定义了一个变量,例如socket.c,并按如下方式导出:
int abcdefg;
EXPORT_SYMBOL(abcdefg);
然后用“sudo make bzImage”编译它并重新启动。但是当我在我自己的模块中使用它时,当insmod模块时,它会显示“模块中的未知符号”。
所以我去看符号列表。使用时
cat /proc/kallsyms | grep "abcdefg"
什么也没有。
使用时
nm vmlinux | grep "abcdefg"
有c1d2b700 B abcdefg
如何在我自己的模块中使用该符号?
答案 0 :(得分:0)
听起来您实际上并没有在运行新内核。 –乔纳森·莱因哈特(Jonathon Reinhart)
是的,你是对的!我忘了用“ make install”更新内核。 –珍妮