【问题标题】:kernel source code location in linuxlinux内核源代码位置
【发布时间】:2009-09-03 12:43:56
【问题描述】:

我在 Windows 工作并通过 VMware 运行 fedora

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

      • 那到底是什么……你能简单介绍一下吗
      • 大多数 GNU/Linux 发行版都包含一个系统,可让您添加、管理和删除软件包(称为“包”)。我相信 Fedora 使用 RPM 包管理器。它应该能够自动为您从互联网上获取软件。
      【解决方案3】:

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

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

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

      【讨论】:

      • 它现在就在那里。我只是按照链接。仅仅因为别人的网站短时间离线而投反对票有点苛刻。
      • 如果我想在 ubuntu 内核源代码中做一些更改并重建该内核怎么办,请给我关于如何执行步骤来克服上述问题的解决方案?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 2013-09-01
      • 1970-01-01
      • 2016-07-03
      • 2019-07-09
      • 1970-01-01
      相关资源
      最近更新 更多