Распространенные вопросы по Gentoo Linux/AMD64

Luis Medinas  редактор
Gerald J. Normandin Jr.  редактор
Simon Stelling  редактор
Xavier Neys  редактор
Василий Голубев  переводчик
Алексей Чумаков  редактор перевода

Обновлено 23 ноября 2005
Исходный документ обновлен 18 июня 2009

1.  Вопросы

Введение в список вопросов по Gentoo/AMD64

В этом документе содержатся наиболее распространенные вопросы по Gentoo/AMD64. Мы надеемся, что здесь вы найдете полезную для себя информацию. Некоторые из вопросов можно найти в форумах, списках рассылки и каналах irc. Если у вас есть предложения и вопросы непосредственно по организации списка, то пожалуйста присылайте их авторам с описанием сути вопроса.

Установка

Оборудование

Приложения

Как мне помочь проекту Gentoo/AMD64?

Другие ресурсы

2.  Установка

Какие значения мне следует указывать в CFLAGS для AMD64/EM64T?

Лучше использовать простые значения для CFLAGS во избежание проблем в будущем. Например, рекомендуется указывать CFLAGS="-march=k8 -O2 -pipe" для процессоров Athlon64 или Opteron, и CFLAGS="-march=nocona -O2 -pipe" для процессора EM64T. Если вы планируете использовать 32-битную изолированную среду (chroot), рекомендуется указывать CFLAGS="-march=athlon-xp -O2 -pipe -msse2" для процессора AMD64, а для EM64T — CFLAGS="-march=pentium4 -O2 -pipe" внутри изолированной среды (chroot).

Примечание: -march=k8 — это то же самое, что -march=athlon64 и -march=opteron.

Предупреждение: Никогда не указывайте -fPIC, -m32 или -m64 в CFLAGS. Они добавляются автоматически при необходимости. Также обратите внимание, что флаг -Os в текущее время не поддерживается.

Какое ядро мне следует использовать для AMD64?

Вы можете использовать практически любой исходный код ядра из дерева портежей. Мы рекомендуем использовать gentoo-sources, т.к. эта версия ядра специально разработана для Gentoo Linux. Это ядро включает в себя множество специальных заплаток для AMD64, и поэтому является единственным официально поддерживаемым Gentoo/AMD64 ядром. Также можно попробовать использовать vanilla-sources. Если вы чувствуете в себе смелость или вам необходима поддержка дополнительного оборудования, вы всегда можете использовать mm-sources — экспериментальное ядро, поддерживаемое Эндрю Мортоном (Andrew Morton).

Предупреждение: Cледует с осторожностью относится к некоторым возможностям ядра, которые недостаточно протестированы, например PREEMPT.

Существует ли прирост производительности при использовании 64-битной системы вместо 32-битной?

Сложно сказать. В некоторых случаях вы ощутите прирост производительности, а иногда — нет. Для повседневного использования разницы между 64-битной и 32-битной системами практически нет. Обычно преимущество 64-битной системы проявляется в вычислениях с плавающей запятой, которые чаще всего встречаются в мультимедийных приложениях и 3D рендеренге. Вас может заинтересовать эта статья. Есть также хорошая тема в нашем форуме.

Как мне обеспечить эмуляцию 32-битного режима?

Вам нужно установить несколько пакетов, добавляющих 32-битные библиотеки в вашу систему. Эти пакеты автоматически добавляются системой Portage при установке зависимого от них 32-битного приложения, таким образом, нет необходимости в ручной установке. Вы можете установить эти пакеты, выполнив:

Листинг 2.1: Установка 32-битных библиотек

# emerge emul-linux-x86-baselibs
# emerge emul-linux-x86-compat
# emerge emul-linux-x86-glibc

Дополнительно вам потребуется включить в своем ядре параметр IA32_EMULATION.

Листинг 2.2: Включение эмуляции IA32 в исходном коде ядра

# cd /usr/src/linux
# make menuconfig

Executable file formats / Emulations  --->
  [*] IA32 Emulation

Что такое «multilib» и как мне это использовать?

Любой процессор AMD64 позволяет запускать 32-битный код наравне с 64-битным. Однако, для запуска 32-битного приложения вы не сможете использовать 64-битные библиотеки и наоборот. Однако, 32-битные приложения можно выполнять без эмуляции, если все разделяемые библиотеки, необходимые для них, имеются в форме 32-битных объектов. Вы можете выбрать поддержку multilib (множественности библиотек) или отказаться от нее, указав необходимый профиль. По умолчанию используется профиль с поддержкой multilib.

Примечание: Если вы используете старый профиль (2004.3 или старше), обновите систему до 2005.0 и внимательно прочтите руководство по обновлению до 2005.0 (англ.).

Как мне создать 32-битную изолированную среду?

Прочтите, пожалуйста, руководство по 32-битной изолированной среде (англ.).

Возможно ли обновление системы с x86 до amd64 посредством emerge -e world?

Ввиду некоторых различий между системой, устанавливаемой на x86 и amd64, такой способ обновления невозможен. Пожалуйста выполните новую установку. Установка немного отличается от х86, поэтому обратитесь к Настольной книге Gentoo/AMD64.

Могу ли я использовать файловую систему Reiser4?

Reiser4 неработоспособна и вызывает порчу данных. Вы можете попытаться использовать предыдущую версию ReiserFS, однако этого делать не рекомендуется.

3.  Оборудование

Будут ли работать двоичные драйверы NVIDIA/ATI?

Да, NVIDIA и ATI выпускают драйверы, которые работают на AMD64. Вы можете установить их, выполнив emerge nvidia-kernel или emerge ati-drivers. По всем возникающим вопросам по этим драйверам обращайтесь к руководству по Nvidia и распространенным вопросам по ATI.

Как задействовать управление охлаждением, шумом и энергопотреблением Cool'n'Quiet/Powernow?

Вам необходимо скомпилировать свое ядро с поддержкой этих возможностей. Для этого просто включите их, как показано ниже:

Листинг 3.1: Включение Cool'n'Quiet/Powernow в ядре

Power management options --->
  [*] Power Management support
CPU Frequency scaling --->
  [*] CPU Frequency scaling
  [*] CPU frequency table helpers
  [*] AMD Opteron/Athlon64 PowerNow!

После этого установите пакет cpudyn (emerge cpudyn) и отредактируйте файл /etc/conf.d/cpudyn в своем любимом редакторе.

Листинг 3.2: Пример файла /etc/conf.d/cpudyn

INTERVAL=1
CPU_UP=0.5
CPU_DOWN=0.9
THROTTLING_LOW=7
CPUFREQ_25="/sys/devices/system/cpu/cpu0/cpufreq /sysfs/devices/system/cpu/cpu0/cpufreq"
CPUFREQ_ACPI="/proc/acpi/processor/CPU0/throttling"

Теперь осталось только выполнить rc-update add cpudyn default, чтобы запуск происходил автоматически при каждой загрузке.

4.  Приложения

Будет ли работать Macromedia Flash?

Да. Для того, чтобы заработал Flash, вам потребуется 32-битный браузер, наподобие mozilla-bin, mozilla-firefox-bin или opera, так как Macromedia не выпускает 64-битную версию. После установки «-bin-версии» своего любимого браузера, установите flash командой emerge netscape-flash.

Будет ли работать OpenOffice.org?

OpenOffice 1.x и 2.0.x не собирается на 64-битных системах, поэтому вам придется использовать двоичную 32-битную версию, доступную в портежах под названием openoffice-bin.

Будет ли работать java в моем браузере?

Blackdown выпускает 64-битную версию JRE. Для установки выполните emerge blackdown-jre. После этого проделайте следующее:

Листинг 4.1: Пример ссылки на java для браузеров

# ln -s /opt/blackdown-jre-*/plugin/amd64/mozilla/libjavaplugin_oji.so /usr/lib64/nsbrowser/plugins/libjavaplugin_oji.so

Я хочу установить пакет «foo», но emerge пишет: (masked by: ~amd64 keyword)

Это означает, что пакет до сих пор находится в «тестовой» ветке. пожалуйста прочтите справку по Portage (man portage) или главу Одновременное использование стабильной и тестовой ветвей из Настольной книги.

Я хочу установить пакет «foo», но emerge пишет: (masked by: missing keyword)

Это означает, что работоспособность пакета еще не протестирована. Это не всегда означает, что пакет не работает. Вы можете размаскировать этот пакет, выполнив следующее:

Листинг 4.2: Пример добавления ключевых слов

# echo "категория/пакет ~x86" >> /etc/portage/package.keywords
# emerge package

Если на вашей системе пакет работает отлично, пожалуйста, дайте нам знать и разместите запрос в Gentoo Bugzilla, чтобы и другие пользователи смогли воспользоваться вашим опытом.

Предупреждение: Не пытайтесь пользоваться командами типа ACCEPT_KEYWORDS="~x86" emerge package. Они определенно повредят ваше дерево.

5.  Как мне помочь проекту Gentoo/AMD64?

Как мне сообщать об ошибках?

Если вы обнаружили ошибку или же хотите выслать нам заплатки, вам необходимо создать отчет об ошибке. Это не отнимет у вас много времени, а ваша помощь будет очень ценна для нас. Пожалуйста, следуйте руководству по созданию отчетов (англ.).

Как мне помочь?

Вместе с ростом популярности платформы amd64, возрастает наша потребность в помощи. Для повышения качества Gentoo/AMD64 нужно сделать еще многое. Обычные пользователи могут помочь нам:

6.  Другие ресурсы

Где я могу получить помощь или дополнительную информацию о Gentoo/AMD64?

Если вы не нашли здесь ответ на свой вопрос, обратитесь к другим источникам, таким как настольная книга для архитектуры AMD64, описания (howto) AMD64 (англ.) или домашняя страница нашего проекта (англ.). Также вы можете задать нам свои вопросы на канале #gentoo-amd64 сервера irc.freenode.net, на форуме Gentoo/AMD64 (англ.) или в почтовой рассылке gentoo-amd64@lists.gentoo.org.