我正在通过 VMware工作Windows
和运行。fedora
默认情况下,内核源代码树应该在usr/src/
目录中。相反,我只能找到一个名为 kernels 的空目录。那里缺少实际的源代码。
浏览时我认为它可能在其他目录中,例如/boot
. 但我在那里也找不到源代码树。
我需要修改我应该能够访问这些源代码的系统调用表。
我正在通过 VMware工作Windows
和运行。fedora
默认情况下,内核源代码树应该在usr/src/
目录中。相反,我只能找到一个名为 kernels 的空目录。那里缺少实际的源代码。
浏览时我认为它可能在其他目录中,例如/boot
. 但我在那里也找不到源代码树。
我需要修改我应该能够访问这些源代码的系统调用表。
默认情况下不安装内核源。您可以按照此处的说明安装源代码并构建内核。
您可能需要安装该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
”)。
您可能只需要内核头文件,具体取决于您正在做什么,构建驱动程序通常只需要头文件。
我发现这个页面可能对你有用Complete Fedora Kernel Headers它提到'kernel-devel' 包不包括所有东西。(那太简单了!)它还准确地告诉您如何使用 rpm 包处理程序。
你可以,(我在几年前尝试过,虽然我现在使用的是 Gentoo),只需从 kernel.org 下载一个归档文件并将其解压缩到 /usr/src 中,但是你将拥有一个没有 Fedora 补丁的“vanilla”内核。