当前位置: 技术问答>linux和unix
linux 驱动编译不支持其他版本内核?
来源: 互联网 发布时间:2016-07-28
本文导语: linux 驱动编译不支持其他版本内核?我现在是2.6.18,编译后2.6.18-XXX换个小版本号的机器就加栽不上了,编译时需要怎样设置? 其他内核版本也需要支持了? | 尝试在2.6.18-XXX上编译。 或者用...
linux 驱动编译不支持其他版本内核?我现在是2.6.18,编译后2.6.18-XXX换个小版本号的机器就加栽不上了,编译时需要怎样设置? 其他内核版本也需要支持了?
|
尝试在2.6.18-XXX上编译。
或者用file命令看看你的驱动格式。
或者用file命令看看你的驱动格式。
|
编译后2.6.18-XXX换个小版本号的机器就加栽不上
---------
那是正常的,也是推荐的方法
你应该针对别的版本的内核重新编译内核模块
不然,难保你的模块使用的别的内核改变了的函数,甚至根本没有的函数
---------
那是正常的,也是推荐的方法
你应该针对别的版本的内核重新编译内核模块
不然,难保你的模块使用的别的内核改变了的函数,甚至根本没有的函数
|
可以的你可以指定你要求的版本,或者针对不同的版本写不同的代码
#include
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 18)
....
#elif LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 0)
...
#eles
...
#endif
#include
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 18)
....
#elif LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 0)
...
#eles
...
#endif
|
最简单的,配置内核时禁用CONFIG_MODVERSIONS
另外黑客大牛wzt最新的文章提到了绕过模块版本检查的黑客做法
http://secinn.appspot.com/pstzine/read?issue=4&articleid=7
另外黑客大牛wzt最新的文章提到了绕过模块版本检查的黑客做法
http://secinn.appspot.com/pstzine/read?issue=4&articleid=7