我有一个二进制.ko
驱动程序文件,但没有源代码。我可以以某种方式将该.ko
文件与较新的内核版本一起使用吗?
例如,重新编译以添加内核头文件?
答案1
通常,Linux 内核会根据当前运行的内核版本检查模块版本,如果不同,它将拒绝加载模块。
您可能可以使用hexedit
甚至sed
更正模块版本,但正如上面的评论中提到的那样,不能保证该模块可以在不同的 Linux 版本上工作。
现状是:
- 如果您的模块版本是
5.X.{???}
,它很可能适用于任何5.X.{???}
内核 - 如果您的模块版本是
5.X.{???}
是高度它不太可能与内核版本一起使用5.Y.{???}
https://www.kernel.org/doc/Documentation/process/stable-api-nonsense.rst