1

我正在通过 VMware工作Windows和运行。fedora

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

浏览时我认为它可能在其他目录中,例如/boot. 但我在那里也找不到源代码树。

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

4

3 回答 3

3

默认情况下不安装内核源。您可以按照此处的说明安装源代码并构建内核。

于 2009-09-03T12:50:47.477 回答
2

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

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

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

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

于 2009-09-03T12:50:22.000 回答
1

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

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

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

于 2009-09-03T15:04:19.513 回答