我有一个简单的“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 内核源代码”下载的版本