有办法能解决低版本内核的系统下使用高版本内核的驱动模块吗?
有一台机器配置较新,又没有找到驱动,我想在安装过程中使用高版本内核的驱动模块,但是失败了,曾试着将高版本内核的源码放在低版本内核上编译,但没编译成功,有没有办法能解决这个问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有一台机器配置较新,又没有找到驱动,我想在安装过程中使用高版本内核的驱动模块,但是失败了,曾试着将高版本内核的源码放在低版本内核上编译,但没编译成功,有没有办法能解决这个问题?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
很多理由可以阻止你这么做:
1)兼容性问题
2)稳定性问题
3)这么做没有任何意义
一般情况下是不可以的。
唉,很简单的问题。
不同的API,可以通过预编译或者定义一个通用的API。
这里指内核提供的API,版本不同就可能存在不同的API,
linux在这方面变化太快了,当然这不是指系统调用接口。
一般不应该自定义自己的API,即重新封装内核的接口。
对于2.4与2.6之间的变化,由于MAKEFILE不同,这个方法可能会成功
但如果存在不同的API,则只能通过移植的方法了。
可以通过一些办法,比如预编译。希望你明白我的意思。
你可以尝试一下编辑驱动模块的makefile,修改一下版本号在编译
linux的内核没有统一的设备驱动架构,内核函数经常变动, 不同版本的驱动源码是不可以混用的。