linux中的内核源代码位置

时间:2009-09-03 12:43:57

标签: linux linux-kernel vmware device-driver fedora11

我正在使用Windows并通过VMware运行fedora

默认情况下,内核源代码树应位于usr/src/目录中。相反,我只能找到一个名为kernels的空目录。那里缺少实际的源代码。

浏览时我认为它可能在/boot等其他目录中。但我也找不到源树。

我需要修改系统调用表,我应该能够访问这些源代码。

3 个答案:

答案 0 :(得分:3)

默认情况下未安装内核源代码。您可以关注,例如说明here来安装源代码并构建内核。

答案 1 :(得分:2)

您可能需要安装kernel-devel包。

在Fedora上,所有软件都通过一个名为Red Hat Package Manager(RPM)的系统进行管理。每个文件(除了用户数据和其他临时文件,如日志等)都由包“拥有”。 ls命令来自coreutils,内核可能来自kernel,而BZFlag(有史以来最伟大的Linux游戏)由bzflag包提供。< / p>

在过去的好时光中,您将尝试使用rpm命令安装软件(输入“man rpm”以获取更多信息)并为其提供已下载的RPM文件的路径。然后,rpm命令将尽职尽责地通知您首先需要满足33个先决条件。然后,您将下载这33个先决条件并尝试安装它们,但却发现每个先决条件都有自己的先决条件。等等。

现在,Fedora有一套很好的在线软件包存储库(你可以为第三方软件添加其他软件包),还有一个名为yum的程序可以下载所有软件包的数据库,你告诉yum “为我安装软件包foo”(通过输入类似“yum install kernel-devel”的内容)并且它会发现,为了安装该软件包,您需要一堆其他必备软件包,依此类推。然后它会自动下载并安装您需要的所有内容,然后就可以了。有关yum移动的各种咒语的详细信息,请参阅“man yum”。

答案 2 :(得分:1)

您可能只需要内核标头,具体取决于您正在做什么,构建驱动程序通常只需要标头。

我发现这个页面可能对您有用Complete Fedora Kernel Headers它提到'kernel-devel'包不包含所有内容。 (这太简单了!)它还告诉你如何使用rpm包处理程序。

你可以,(我多年前尝试过,虽然我现在使用Gentoo),只需从kernel.org下载一个存档并将其解压缩到/ usr / src中,但是你会得到一个没有它的'vanilla'内核Fedora补丁。