/etc/rant - 64 位问题

作者:Nicholas Petreley

我的主要工作站已经多年没有升级了,所以现在是时候进行更换了。我听到了很多关于 AMD64 处理器的优点,所以这就是我选择的路线。

我决定购买低速双核 AMD64 处理器,而不是高速单核处理器。我想要双核,因为我不是在寻找终极游戏机。我想要一台好的“可以让我编译、刻录 DVD,并且可能同时做两三件其他事情,仍然有一个非常灵敏的桌面”的机器。我发现我可以组装一台体面的双核 AMD64 主机,配备 PCI Express x16 NVIDIA 显示卡、两个巨大的 SATA 驱动器和 4GB 内存,价格出奇的合理。我的大部分东西都是从 www.newegg.com 在线购买的,那里有一些非常划算的交易。

几天后,我的大部分东西都到了。我花了一天左右的时间在新电脑上进行组装,同时在旧电脑上进行编辑工作。除了几个愚蠢的错误,一切都组装好了,新电脑运行良好。

我的 SATA DVD 驱动器还没有到货。我使用旧的 IDE DVD 驱动器安装 AMD64 版本的 Kubuntu。事实证明这是一个意外的幸运突破,你马上就会看到。

我升级了 Kubuntu AMD64 以使用 K8-SMP 版本的内核,以便利用我的双核处理器。大错误。SMP 内核崩溃了。经常崩溃。我查看了论坛,很多 Kubuntu/Ubuntu 用户都经常崩溃。Kubuntu 发布了更新版本的内核,但仍然会崩溃,只是没有那么频繁。

所以我编译了我自己的 2.6.15.4 版本的内核。它不支持图形启动屏幕,并且报告了一些毫无意义的错误。我不在乎。我的内核版本是稳定的,并且支持我的所有硬件。

我的 SATA DVD 驱动器到了。我卸下 IDE 驱动器并安装 SATA 驱动器。我的 Linux 内核无法识别该驱动器。为什么?因为有一个内核驱动程序参数叫做 atapi_enabled,需要设置为 1,内核才能识别 DVD/CD 驱动器。我修改了源代码以更改默认值并重新编译。这奏效了。(您不必修改源代码,但这超出了本次评论的范围,无法解释为什么我选择这种方法而不是其他替代方法。)

然后我尝试安装 AMD64 版本的 Debian。由于 DVD 上的 Debian 内核中默认的 atapi_enabled=0,安装程序无法找到 DVD/CD 驱动器来安装软件。我找不到任何方法将参数更改为 1。我读到内核启动选项 libata.atapi_enabled=1 应该可以工作,但它不起作用。所以我无法安装 Debian AMD64(或可能是任何其他发行版),除非我在机器中安装额外的 IDE DVD/CD 驱动器。这太荒谬了。

然后我在 Kubuntu 下运行 Firefox。最新的官方 Kubuntu 版本是 1.07。我想使用 1.5 或更高版本,但没有 AMD64 版本可用。所以我自己编译了一个。这很好,但是没有 AMD64 版本的 Firefox 可以运行 Flash,因为没有 64 位版本的 Flash。有一个 AMD64 版本的 Java,但它不包含插件库,所以我也无法从这个浏览器运行 AMD64 Java。Ubuntu 论坛解释了如何在不 chroot 到 32 位环境的情况下让 32 位 Firefox 与 Flash 和 Java 一起工作,但这些说明对我不起作用。我最终将问题追溯到另一个内核配置选项。

我想我可以避免所有这些问题,通过在这台机器上运行 i386 版本的 Linux。我想如果我研究了对 AMD64 的现有支持,并选择不使用 AMD64 芯片,我也许可以避免所有这些问题。但我不认为我必须研究 AMD64 支持。按照现代标准,AMD64 实际上已经是一个旧芯片了。有很多笔记本电脑使用 AMD64 的某个版本,所以不要告诉我它只是一个服务器芯片。

诚然,其中一些问题是 Linux 之外的,例如缺少 AMD64 Java 插件库和缺少 AMD64 Flash 插件。但是,无论您使用什么芯片,Linux 都无法识别 SATA DVD/CD 驱动器是没有任何借口的。而且由于 Ubuntu 表明通过自定义可以实现,因此任何 AMD64 发行版都无法让您开箱即用地运行带有插件的 32 位 Firefox 都是没有任何借口的。

64 位版本的 Windows 仍在苦苦挣扎。因此,Linux 仍然有机会成为第一个、最好的 AMD64 桌面平台。现在是发行版开发人员(和第三方)行动起来,帮助实现这一目标的时候了。

Nicholas Petreley 是Linux Journal 的主编,曾任程序员、教师、分析师和顾问,从事 Linux 工作和写作已有十多年。

加载 Disqus 评论