现有 .ko 文件是否更新以适用于较新的内核?

现有 .ko 文件是否更新以适用于较新的内核?

我有一个二进制.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

相关内容