Alpha/FAQ/ru

From Gentoo Wiki
< Alpha
Jump to:navigation Jump to:search
This page is a translated version of the page Alpha/FAQ and the translation is 96% complete.
Outdated translations are marked like this.


Этот FAQ — отвечает на некоторые наиболее часто задаваемые вопросы, касающиеся Alpha на Gentoo и Alpha на Linux в целом.

См. также
See also the main FAQ, or the Portage FAQ for frequently asked questions about the package manager. There is also a FAQ section in the handbook. For frequently asked questions relating to the documentation wiki and editing the wiki, see the wiki FAQ. There are also other architecture-specific FAQs, such as: AMD64/FAQ, PPC/FAQ, and MIPS/FAQ.

Введение

Эта статья содержит ответы на наиболее часто задаваемые вопросы о Gentoo/Alpha и Alpha/Linux. Она рассчитана как на новичков, так и на опытных пользователей.

О проекте Alpha

Что такое Alpha?

Проект Alpha ответственен за сохранение дистрибутива Gentoo обновленным для платформы Alpha. Это в первую очередь администрирование переменной KEYWORDS в пакетах, портирование программного обеспечения, а также создание новых релизов. Проект Alpha стремится обеспечить рабочую среду для настольных компьютеров и серверов.

Архитектура Alpha

Архитектура Alpha мертва?

Да. HP прекратила принимать заказы на новые системы Alpha 27 апреля 2007 года.

Я могу запускать 32-битные приложения?

Не существует 32-битной Alpha, архитектура была 64-битной с самого начала. Вы не можете даже заставить gcc выводить 32-битный код с помощью -m32 флага компилятора.

Alpha является big endian или little endian системой?

Системы Alpha являются little endian системами. Большая система Cray, использовавшая системы Alpha, была big endian, но она никогда не будет поддерживаться на Linux.

Можно ли запускать Linux/x86 приложения на Alpha?

Нет, если не использовать эмуляторы x86 типа QEMU. В прошлом DEC/Compaq/HP поддерживали программу под названием em86, которая позволяла запускать Linux/x86 приложения на системах Linux/Alpha. Тем не менее, программа распространялась с закрытым исходным кодом и больше не поддерживается. Больше нет доступных бинарных файлов em86, которые совместимы с ABI gcc-3.

Зачем устанавливать Gentoo на Alpha?

Следует признать, что вы можете найти более быстрые 64-разрядные системы, например amd64. Тем не менее, это не означает, что системы Alpha бесполезны. Ниже приведены несколько хороших причин, почему вы можете хотеть установить Linux на такого рода оборудования:

  • Вы можете превратить старый компьютер в нечто полезное. Из старых Alpha делают большие маршрутизаторы и серверы. Их производительность не так уж плоха.
  • Вы узнаете о необычной компьютерной технике.
  • Это круто. Сколько человек может сказать, что у них есть Linux, который работает на Alpha?

Где я могу купить Alpha?

Alpha, как правило, не доступны в вашем местном компьютерном магазине. eBay, как правило, хороший вариант, если предположить, что доставка не будет стоить вам слишком много. Есть несколько дилеров, бывшего в употреблении оборудования, которые могут быть найдены с помощью Google, однако большинство из них стоят слишком много.

Железо

Я открыл корпус на AlphaServer и теперь он не включается, что мне делать?

Убедитесь, что верхняя панель корпуса правильно закреплена на своем месте. В середине верхней панели корпуса есть небольшой кусочек металла, повернутый вниз. Когда верхняя панель правильно закреплена, этот кусочек металла оказывает давление на выключатель. Если выключатель не нажат, система не включится.

If it becomes truly necessary to power a system up with the chassis open, try locating the interlock switch(es) and jamming a nonconductive spudger in it to force it closed. Interlock switches can be spotted by examining the edges of the chassis's panels for protrusions with a matching slit in the chassis proper, or by carefully reading the computer's manual.

Флаги компилятора, специфичные для Alpha

Рекомендуется ли использовать флаги компилятора, специфичные для Alpha?

Как и с прочими оптимизациями компилятора, не перестарайтесь. Используйте эти флаги с осторожностью и вы получите стабильную, быструю систему; слишком агрессивное использование этих флагов может серьезно повредить систему. Если сомневаетесь, оставьте флаг выключенным. Для получения более подробной информации обратитесь к man-странице gcc.

Как осуществить оптимизацию для конкретного набора инструкций и модели планировщика?

Оптимизация для конкретного набора инструкций и модели планировщика осуществляется посредством флага -mcpu=XXX, где XXX — тип процессора. Допустимые типы процессоров таковы: ev4, ev45, ev5, ev56, pca56, ev6 и ev67. Если флаг -mcpu=XXX не используется, gcc будет использовать по умолчанию тип процессора той системы, на которой он был собран. Флаг -mcpu= соответствует флагу -march= на x86.

Заметка
Пользователям AlphaServer 800 следует использовать тип процессора ev5. Существуют известные проблемы, связанные с использованием типа процессора ev56; в частности, Xorg может полностью заблокировать систему.

Как можно установить модель планировщика без изменения набора инструкций?

Установить модель планировщика без изменения набора инструкций можно посредством флага -mtune=XXX, где XXX — нужный тип процессора. Допустимые типы процессоров таковы: ev4, ev45, ev5, ev56, pca56, ev6 и ev67. Флаг -mcpu= подразумевает флаг -mtune=, поэтому, если установлен -mcpu=, -mtune= устанавливать необязательно. Флаг -mtune= соответствует флагу -mcpu= на x86.

Как можно включить числа с плавающей точкой с программной поддержкой?

Числа с плавающей точкой с программной поддержкой можно включить при помощи флага -mieee. Этот флаг включает программную поддержку для правильной поддержки денормализованных чисел и исключительных значений IEEE, таких как не-число и плюс/минус бесконечность.

Этот флаг должен присутствовать в глобальной переменной CFLAGS и выключать его следует только в том случае, если вы точно знаете, что делаете.

Как можно указать задержку памяти системы?

Задержку памяти системы можно указать посредством флага -mmemory-latency=XXX, где XXX — количество циклов системных часов. Этот флаг устанавливает время задержки, которое планировщик должен использовать для обращений к памяти. У gcc есть несколько предопределенных "типичных" значений, которые также можно указать во флаге -mmemory-latency=XXX. Это следующие значения: L1 для Dcache, L2 для Scache, L3 для Bcache и main для основной памяти.

Этот флаг лучше не включать в глобальную переменную CFLAGS, поскольку предпочтительное значение в значительной степени зависит от шаблона доступа к памяти собираемой программы.

Как можно указать, чтобы статические данные помещались в небольшую область данных?

Указать, чтобы статические данные помещались в небольшую область данных можно посредством флага -msmall-data. Этот флаг заставит gcc использовать некоторые возможности архитектуры Alpha посредством хранения часто используемых фрагментов данных в особых участках, называемых участками малой памяти. Размер такого участка ограничен 64 Кб, что означает, что для доступа к данным, находящимся в нем, достаточно одной инструкции.

Флаг -fPIC отменяет флаг -msmall-data, поэтому следует использовать флаг -fpic, если вы не хотите, чтобы флаг -msmall-data был отменен.

Этот флаг лучше не включать в глобальную переменную CFLAGS, поскольку некоторые объекты требуют для своего хранения более 64 Кб, что приведет к ошибке gp_overflow ld.

Как указать, что объектный код должен быть помещен в небольшую область текста?

Указать, чтобы объектный код помещался в небольшую область текста можно посредством флага -msmall-text. Этот флаг заставит gcc предполагать, что программа (или библиотека) полностью помещается в 4 Мб и, таким образом, к ней можно получить доступ посредством команды ветвления. В результате, количество инструкций, необходимое для вызова функции, уменьшается с 4 до 1.

Этот флаг лучше не включать в глобальную переменную CFLAGS, поскольку размер некоторых программ (или библиотек) больше 4 Мб, что приведет к ошибке ld.

Что делать, если какие-либо из этих флагов компилятора приводят к ошибке на стадии сборки, компоновки или запуска?

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

Загрузка Alpha и загрузчики

Что такое SRM?

SRM основан на спецификации Alpha Console Subsystem, которая предоставляет рабочее окружение для операционных систем OpenVMS, Tru64 UNIX и Linux. Для получения более подробной информации о SRM обратитесь к статье SRM Howto.

Что такое ARC?

ARC основан на спецификации Advanced RISC Computing (ARC), которая предоставляет рабочее окружение для Windows NT.

Как узнать, какая прошивка установлена в системе, ARC или SRM?

При включении системы, в случае использования SRM, появится экран с синим фоном и белым текстом. Если используется ARC, появится графическая система загрузки.

Какой загрузчик выбрать?

Если система поддерживает SRM, тогда следует использовать aboot. Если система поддерживает и SRM и ARCs (ARC, AlphaBIOS, ARCSBIOS), тогда следуйте инструкциям SRM Firmware Howto, чтобы переключиться на SRM и использовать aboot. Если система использует только ARCs (Ruffian, xl, etc.), тогда следует использовать milo.

Способен ли aboot загружать ядра с разделов EXT4, XFS, ReiserFS или JFS?

Нет, aboot поддерживает только загрузку ядер с разделов ext2 и ext3. По-прежнему можно использовать другие файловые системы для раздела root, необходимо только создать раздел /boot с файловой системой ext2 или ext3.

Планируется добавление поддержки для ext4. Существуют патчи, добавляющие поддержку для ReiserFS, XFS и ext4.

Программное обеспечение

Как реализована поддержка Java на Alpha?

Существовали двоичные пакеты от Compaq/HP, которые назывались compaq-jre и compaq-jdk. Поддержка была прекращена, и эти пакеты были убраны из Gentoo 11 октября 2006 года. С тех пор Gentoo не поддерживает Java.

Будет ли когда-нибудь реализована рабочая поддержка Java?

Существует возможность использования icedtea на Alpha, но мы не планируем ее поддерживать по причине высокой стоимости обслуживания, связанной с тестированием сотен дополнительных пакетов.

Как реализована поддержка .NET на Alpha?

Ни одна из двух реализаций .NET с открытым кодом (mono и DotGNU) не поддерживает архитектуру alpha.

Что необходимо для реализации поддержки .NET?

Реализовать .NET на Alpha — задача непростая. Для этого необходимо написать все макросы генерации кода ассемблера для JIT (just in time) компилятора, а также написать функции, специфичные для архитектуры (распределители регистров и так далее).

Ядро Alpha Linux

Какой исходный код ядра выбрать?

Рекомендуется использовать gentoo-sources. Также поддерживается vanilla-sources. Чтобы определить, какой исходный код вам больше подходит, читайте статью Руководство по ядру Gentoo.

Моя система с ядром kernel-2.6 сломана, я могу собрать систему с ядром версии 2.4?

Alpha не поддерживает ядро версии 2.4 и соответствующий профиль с января 2008 года. Собрать систему Gentoo с ядром версии 2.4 технически возможно (ядро находится в дереве portage), однако для этого пользователям понадобится самим поставить маску на все пакеты, поддерживающие только ядро версии 2.6, и такая система не будет поддерживаться разработчиками.

Команда Alpha просматривает все сообщения об ошибках, связанных с неработающими системами, основанными на ядре 2.6, и пытается оказывать поддержку по мере возможности.

Поддерживается ли hardened-source?

Короткий ответ — нет. Он поддерживался какое-то время назад, но мы потеряли аппаратуру и куратора, поэтому теперь он не поддерживается. Если вам это интересно и вы хотите продолжить начатую работу, свяжитесь с нами.

Ядро версии 2.6 поддерживает Alpha SMP?

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

Как помочь проекту Alpha

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

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

Как можно помочь проекту Alpha?

Пользователи могут помочь проекту следующими способами:

  • Созданием ясных и кратких сообщениями об ошибках.
  • Тестированием программного обеспечения, у которого еще нет ключевого слова ~alpha.
  • Ответами на вопросы в списках рассылки, на forum и на канале IRC.
  • Присыланием патчей.
  • Также можно стать AT.

Существует ли проект Alpha arch testers?

Да, перейдите на страницу Alpha arch testers project для получения более подробной информации.

Устранение проблем

Почему Xorg приводит к зависанию системы?

Обычно причиной этого является неправильная установка -mcpu. Например, AlphaServer 800 следует собирать с флагом ev5 для xorg и glibc. В противном случае возникнут нежелательные последствия.

Прочие источники информации

Почему не существует форума Gentoo on Alpha?

На Gentoo Forums есть несколько разделов, посвященных различным архитектурам, например Gentoo on PPC и Gentoo on Sparc. Раздела Gentoo on Alpha не существует по причине недостаточной активности на форумах на эту тему. Все сообщения, касающиеся Alpha, следует создавать в категории Gentoo on Alternative Architectures.

Где можно получить дополнительную помощь или более подробную информацию о Alpha?

Если вы не нашли ответа на какой-либо вопрос в настоящем FAQ, попробуйте обратиться к другим ресурсам, таким как Alpha Handbook или на домашней странице нашего проекта. Также можно задать вопрос на канале #gentoo-alpha (webchat), на форуме Gentoo on Alternative Architectures Forum или в списке рассылки gentoo-alpha@lists.gentoo.org.

Где можно получить дополнительную помощь или более подробную информацию о Alpha Linux?

AlphaLinux.org является основным информационным ресурсом для Alpha/Linux.


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Thomas Cort, Brian Evans, nightmorph, Matt Turner
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.