此文档涵盖了Gentoo/AMD64相关的几个最普遍的问题。我们提供了一些Gentoo/AMD64相关的有用信息以求对其他人有所帮助。你可以在论坛、IRC或者邮件列表里找到其中的一部分问题。如果你对这篇常见问题有任何意见或疑问的话,欢迎你发送邮件到amd64@gentoo.org。
安装
硬件
应用程序
我要如何帮助Gentoo/AMD64项目?
其他资源
两个都是指64位处理器,一个来自AMD(AMD64),另一个来自Intel(EM64T)。AMD的64位 处理器包括Athlon 64、Turion、Neo、Phenom和Opteron几个系列。而Intel的64位处理器 包括Core2、Core iX、Celeron、Xeon和Pentium(所有属于Core2构架的)。 最新的几个版本的Pentium 4和Xeon芯片也支持EM64T。
在Intel提供64位处理器之前许久,AMD就已经提供了64位的处理器。因此由于历史原因,适用于所有x86-64兼容构架的keyword是amd64。照这样,AMD64是一个对于所有64位芯片(无论AMD或是Intel)通用的参考。
你应该尽可能地简化你的CFLAGS来避免你的系统未来可能发生的一些问题。 以下为被支持的CFLAGS:对于AMD系统:-O2 -march=k8 -pipe。 对于基于Core2的系统(EM64T):-O2 -march=core2 -pipe。 如果你是支持EM64T的Intel Pentium 4的用户,请使用-O2 -march=nocona -pipe。
你几乎可以使用Portage里面提供的所有内核源码。我们推荐你使用gentoo-sources,因为它是特别为Gentoo Linux设计的内核。它包含了许多针对AMD64构架的补丁,所以它是唯一一个被Gentoo/AMD64官方支持的内核。
警告: 你应该小心一些没有经过充分测试的内核特性,比如PREEMPT。 |
请确保你已经在内核里激活了IA32_EMULATION选项。
代码 2.1: 在内核源码里激活IA32 Emulation选项 |
# cd /usr/src/linux # make menuconfig Executable file formats / Emulations ---> [*] IA32 Emulation |
警告: 如果你在使用multilib的系统上禁用了这个选项,你可能会遭遇编译失败。 |
这是一个很难回答的问题。在某些情况下,你会感受到系统性能的提升,然而在一些其他情况下你就感受不到了。对于日常使用来说,64位和32位几乎没有区别。64位的CPU在进行浮点运算的时候一般比较快,然而这些运算通常发生在使用多媒体应用程序和3D渲染的情况下。这一篇文章(和一篇相关文章)可能能够引起你的兴趣。在我们的论坛里也有一个极好的板块。
每一个AMD64处理器都能够像运行64位代码一样运行32位代码。不过,32位应用程序不能使用64位库,反之亦然。但是你可以像在32位处理器上一样运行32位应用程序,只要你可以提供它所需要的所有32位共享库。你可以选择相应的profile来决定是否想要multilib支持。默认的profile是支持multilib的。
警告: 目前来说,你无法从一个不支持multilib的profile转向一个支持multilib的profile,所以如欲使用不支持multilib的profile,请三思。 |
请阅读32位chroot指南。
我能通过emerge -e world命令从x86系统升级到amd64系统吗?
由于x86构架和amd64构架在安装上的几个不同之处,升级是不可能的。所以请重新安装你的系统。amd64构架的安装过程和x86构架的有一些不同,所以请使用AMD64安装手册。
而且,在x86系统上创建的二进制文件很可能不能被amd64系统上的程序读取。特别是你不能简单地把数据库(例如MySQL、innoDB、Berkeley DB、SQLite、OpenLDAP等等)原封不动地复制到另一个系统上。在你试图把你的数据库恢复到一个amd64系统上之前,你需要把数据库转换成“构架无关”格式,比如说纯文本文件。
Gentoo内核项目提供的所有内核都不支持Reiser4,所以AMD64小组也没有支持它。答案是否定的。
可以,NVIDIA和ATI提供了可以在AMD64构架上运行的驱动。你可以运行emerge nvidia-drivers或者emerge ati-drivers命令来安装它们。如果你对这些驱动还有疑问,你应该读一读Nvidia指南或者ATI常见问题。
我应该如何使用Cool'n'Quiet、PowerNow或者SpeedStep特性?
你必须把对这些特性的支持编译到你的内核中。你需要激活以下选项:
代码 3.1: 针对Cool'n'Quiet、PowerNow或者SpeedStep的内核选项 |
Power management options --->
[*] Power Management support
[*] ACPI (Advanced Configuration and Power Interface) Support --->
<*> Processor
<*> Thermal Zone
CPU Frequency scaling --->
[*] CPU Frequency scaling
Default CPUFreq governor (ondemand) --->
-*- 'performance' governor
<*> 'userspace' governor for userspace frequency scaling
-*- 'ondemand' cpufreq policy governor
<*> ACPI Processor P-States driver
<*> AMD Opteron/Athlon64 PowerNow!
-*- CPU idle PM support
|
然后运行emerge cpufrequtils,接着使用你最喜欢的编辑器来编辑/etc/conf.d/cpufrequtils文件。
代码 3.2: /etc/conf.d/cpufrequtils文件范例 |
# Options when starting cpufreq (given to the 'cpufreq-set' program) START_OPTS="--governor ondemand" # Options when stopping cpufreq (given to the 'cpufreq-set' program) STOP_OPTS="--governor performance" |
现在你只需要运行rc-update add cpufrequtils boot来确保它在你每一次启动系统的时候都启动了。
注意: 如果你想得到更多有关CPU电源管理的心得,你可能会想看一看电源管理指南。 |
当然可以。只要emerge adobe-flash。Adobe已经从10.0.22.87版本开始提供一个64位的Flash插件。如果不需要32位的插件,则执行echo "www-plugins/adobe-flash -32bit" >> /etc/portage/package.use。这样将只安装64位的flash插件。
当然可以。执行emerge openoffice。这可能要花几个小时并且会占用系统的大部分资源。如果你觉得自己的机器无法承受,可以尝试安装预编译的二进制包,openoffice-bin
我想要安装某一个软件包,但是emerge显示了以下信息:(masked by: ~amd64 keyword)
这条信息表示这个软件包仍然处在“测试”软件分支中。请阅读man portage或者AMD64安装手册里的使用多个软件分支这一章节来得到更多信息。
我想要安装某一个软件包,但是emerge显示了以下信息:(masked by: missing keyword)
这条信息表示这个软件包还没有被测试过。这不意味着这个软件包不能正常工作。你可以通过接受这个软件包的另一个构架来解除对它的屏蔽。以下的例子向你展示了你可以告诉Portage来接受某一给定软件包的任何keyword。
代码 4.1: 添加软件包keyword的例子 |
# echo "category/packagename **" >> /etc/portage/package.keywords # emerge packagename |
如果这个软件确实可以正常编译安装运行,请告诉我们并且提交一个Bug到Gentoo的Bugzilla,以便AMD64团队可以给该软件包确定一个keyword,然后其他用户就可以从你的测试中受益了。
警告: 请不要尝试像ACCEPT_KEYWORDS="~x86" emerge packagename这样的命令。它很可能会破坏你的软件包库。 |
随着amd64构架的日益流行,我们也需要更多的帮助。对于提高Gentoo/AMD64的品质,我们还有很多需要做。一个普通的用户可以通过以下方式来帮助我们:
我在那里能得到更多有关Gentoo/AMD64的帮助或信息?
如果你有一些这里没有回答的疑问,你可以试着浏览被罗列在我们的计划的主页上的其他资源。你也可以在irc.freenode.net上的#gentoo-amd64频道里或者在Gentoo/AMD64论坛里亦或者在gentoo-amd64@lists.gentoo.org邮件列表里提出你的疑问。
本文档的内容遵循知识共享-署名-相同方式共享许可协议