我正在使用Windows
并通过VMware运行fedora
。
默认情况下,内核源代码树应位于usr/src/
目录中。相反,我只能找到一个名为kernels的空目录。那里缺少实际的源代码。
浏览时我认为它可能在/boot
等其他目录中。但我也找不到源树。
我需要修改系统调用表,我应该能够访问这些源代码。
答案 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补丁。