我正在尝试修改其中一个Linux内核驱动程序。
但是当我尝试 insmod 时,内核不断发出“未知符号”错误消息。
我认为我为构建配置了与原版不同的东西。 :(
所以这是我的问题。
如何配置与原始模块完全相同的配置?
有没有办法轻松配置某个内核映像?
答案 0 :(得分:0)
此错误有两种可能:
未知符号表示您在驱动程序中使用的任何符号都可以是FUNCTION或Variable,而内核在加载模块时无法找到。当你对驱动程序进行insmod时,请执行dmesg并查看所有符号,内核无法找到的内容。 有可能在您修改驱动程序时,您错误地使用了一些未在任何地方定义的变量或函数。在修改后的代码中查找任何“外部变量”或任何拼写错误;)。
您的驱动程序依赖于其他模块。在这里,从属意义,您的驱动程序使用的函数或变量很少,由其他模块加载到内核。在这种情况下,您必须先加载该模块,然后再加载您的模块。
未知符号不是配置问题。配置问题会产生其他错误。
如果您需要更多帮助,请在此处粘贴dmesg输出..
问候。