7. 从头开始安装

ACPI 正在不断修订。它在 2.4.x 系列内核(2.4.22 及更高版本)和所有 2.6.x 系列内核的更高版本中可用。如果您想使用 2.4.22 之前的内核,您需要修补您的内核源代码以添加 ACPI 功能。如果可能,您应该使用最新的稳定内核版本。补丁可从 acpi.sourceforge.net 获取。

红帽 Fedora Core 2 现在默认启用 ACPI!这对 ACPI 开发团队来说是一个巨大的进步。祝贺大家。

Note

即使是最新的内核有时也会有可作为补丁的次要错误修复。您应该查看 ACPI4Linux 网站,看看是否有任何可用的补丁。

您需要获取与您正在运行的内核版本完全匹配的补丁。由于这是 “从头开始安装” 部分,我将假设您确切地知道您将要安装哪个内核。

7.1. 选择内核

本文档最初是为 2.4.20 内核编写的,此后已更新以包含有关 2.6.x 系列内核的信息。在本次更新时,对于某些人来说,2.6.x 系列内核证明很容易,而对于另一些人来说则更难。(我个人无法使用 2.6.5 内核正确关闭我的计算机。)

如果可以,我建议您等待升级内核到 2.6.x 系列,直到更多的错误被解决。2.6.x 系列内核中有很多大量的更改。当我升级到 2.6.5 来更新本文档时,我的无线连接、我的 nvidia 显卡和 ACPI 都遇到了问题。您的结果可能会有所不同。我个人在使用带有最新补丁的 2.4.20 和不带补丁的 2.4.22 内核时取得了良好的成功。在您的发行版的邮件列表和 acpi-devel 邮件列表中进行 Google 搜索应该可以帮助您选择正确的内核。

Note

本文档使用 2.4.20 内核作为 2.4.x 系列内核的示例。根据需要替换您自己的内核版本。

无论您选择哪个内核,如果它是需要修补的内核,则使用最新版本的 ACPI 补丁非常重要。一些发行版已经修补了他们的内核。Debian 就是这种情况,其他发行版也可能是这种情况。有关已应用于 Debian 内核源代码包的补丁的更多信息,请扫描/usr/src/kernel-source-<版本>/README.Debian。如果您不使用 Debian,您可能仍然能够找到您发行版的等效文件。

acpi-support 上的一个用户确认我不需要任何已应用于内核的其他补丁来运行我的笔记本电脑。如果您正在运行生产级服务器和/或为互联网提供网页服务,您应该真正应用任何额外的安全补丁。

Warning

如果内核已应用了其他补丁,您在应用 ACPI 补丁时可能会遇到问题。当然,ACPI 补丁不应应用于已针对 ACPI 进行修补的内核。只要内核没有应用 ACPI 补丁,现在应该可以应用一个。根据应用的补丁,您可能需要修改一些 Makefile 才能使您的补丁成功。这超出了我目前的理解范围,因此本文档中未涵盖。

7.1.1. Debian 化的预先修补的内核

如果您希望使用 Debian 化的内核而不是全新的内核,maxx 提供了针对 2.4.20 内核的最新补丁的预先修补的 kernel-source 软件包。这将代替从 www.kernel.org 下载全新的(未修补的)内核。他给我发了一封电子邮件,其中包含以下详细信息

 

我从 unstable 中获取了 kernel-source 2.4.20-8,删除了 ACPI 更改 [即旧补丁] 并应用了acpi-20021212-2.4.20.diff.gz来自 acpi.sf.net,因为原始的 2.4.20 确实 存在多个安全漏洞(ptrace、哈希表等)。

您可以在 http://people.debian.org/~maxx/kernel-source-2.4.20/ 找到该软件包(我没有上传 .orig.tar.gz,因为您可以从任何 debian 镜像获取它,并且 .deb 已经足够大)

 
--maxx 

Warning

我没有测试过这些软件包。您可能成功也可能不成功。请不要发邮件问我关于它们的问题,请问 maxx。