如何提取内核头文件以便以后编译内核模块

时间:2013-10-21 04:36:15

标签: linux-kernel

我从git存储库编译了各种Linux内核。有时我将内核复制到其他系统并需要内核头来编译外部模块。

我尝试运行“make headers_install”,但它只生成了一个include /文件夹。当我试图将外部模块指向该文件夹时,它会抱怨它无法找到Makefile。

打包内核标头以进行部署的正确方法是什么?

感谢。

2 个答案:

答案 0 :(得分:4)

创建内核包,即基于dpkg的发行版的“make deb-pkg”和基于RPM的发行版的“make rpm-pkg”。这些创建了多个包,其中之一是可用于外部模块构建的包。这应该是针对Debian软件包的linux-headers- *和针对RPM版本的“开发”软件包。

答案 1 :(得分:1)

在某些方面,这只是the previous answer的扩展。如果查看内核源代码中的文件scripts / package / builddeb,您将找到脚本代码,该代码从内核构建中选择构建外部模块所需的文件,并将它们放入/ usr / src / linux-headers- $ version。通过搜索字符串"#Build kernel header package"我可以在本地内核版本中找到该脚本代码。在builddeb文件中。如果您想手动执行操作,可以手动执行该脚本代码。