编译针对不同内核版本的内核模块

编译针对不同内核版本的内核模块

我有一个简单的“hello world”Linux 内核模块,我想为不同的主机进行编译。我的主机是 5.x 内核版本,目标是 4.x。

我不想更新内核版本。这是用于测试目的的虚拟化实验室环境。

当目标内核版本的标头位于存储库中时,这是一项简单的任务。通常只需要一个apt install linux-headers-$(uname -r)或类似的,后面跟着make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules。否则似乎没那么容易。

即使尝试从Debian 档案我遇到了旧二进制文件的依赖性问题,我不想用这些旧二进制文件覆盖我的最新二进制文件。我什至尝试编译完整的Linux内核源码并有类似的问题。

除了使用我自己的内核头文件的简单模块之外,我没有构建内核模块的经验。有什么帮助吗?

答案1

您可能需要调整环境变量以指向使用“完整 Linux 内核源代码”下载的版本

相关内容