无法加载模块,这是怎么回事?
我写了个模块, mymodule.c
gcc -c mymodule.c之后,插入模块:
# insmod ./mymodule.o
此时报错说:编译采用的内核版本为×××-×××-×custom 而目前运行的内核版本为: ×××-×××-x
请问这如何处理。
我用的时VMWARE下的linux,确实重新编译过内核,因此每次linux引导的时候,总是需要选择×××-×××-×custom 还是×××-×××-x,由于×××-×××-×custom无法启动,所以实际上我一直引导的内核是×××-×××-×, 请问以上模块插入错误如何解决呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是正道,我改了头文件中的版本。^_^
你头文件路径设置错误,这些问题问过好多遍了,你可以在网上查一下,看看一般模块如何编译。
你这种问题一般只要用-I把你目前用的内核头文件链过来就可以了。
还有,如果你用的是2.6的内核,不能这样编译,它有一个编译蓝本,你搜一下,然后直接套用就可以了。
改头文件路径或者把版本检查去掉