什么是内核源代码树?

The*_*gle 6 source ubuntu linux-kernel

Linux 内核源代码树是什么?它包含什么以及其目的是什么?

我正在尝试构建一个外部模块,我正在使用的教程说要确保内核源代码树可用。

如果可用,我在 Ubuntu 中哪里可以找到它?

这里有一个类似的问题:

内核源代码树包含什么?这与 Linux 内核头文件有关吗?

但我没有看到我的问题的答案。

如果能澄清这一点就好了。

Tho*_*key 7

源代码树是包含所有内核源代码的目录。您可以构建一个新内核,安装它,然后重新启动计算机以使用重建的内核。除了学习之外,人们还重建内核以选择较少使用的选项,或者添加通常不与 Linux 捆绑在一起的设备驱动程序。

您可能在Ubuntu 中找不到它,但必须下载源 tar 文件,例如,从kernel.org. Ubuntu 在很多方面都使用 Debian 软件包,并且后者的网站使您可以更轻松地找到这些软件包。

它们(在任何一种情况下)都包含一个“原始”tar 文件(来自“上游”)和一个“debian”附加组件(脚本和包)。您可以从 Debian 下载这两个文件。如果您正在寻找已安装的内核包的源代码,则可以下载这两个部分。

您还可以安装“linux-source”软件包:Debian 和Ubuntu提供了一些源软件包,这是为数不多的几个软件包之一(快速检查发现只有几十个名称中带有“-source”的软件包,相比之下数以万计的其他包)。源包是首选,因为需要许多修复(和自定义),并且源包将这些补丁合并到树中。

直到大约十年前,我还经常构建内核,因为缺乏声音、视频和网络的驱动程序。