Alpha/FAQ/ru

Цель этого ЧаВо — ответить на некоторые наиболее часто задаваемые вопросы, касающиеся Gentoo/Alpha и Linux/Alpha в целом.

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

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

Архитектура Alpha мертва?
Вроде, да. HP прекратила принимать заказы на новые системы Alpha 27 апреля 2007 года и для опций и обновлений Alpha 25 апреля 2008. Просмотрите страницу планирования для подробной информации.

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

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

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

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


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

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

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

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

Как осуществить оптимизацию для конкретного набора инструкций и модели планировщика?
Оптимизация для конкретного набора инструкций и модели планировщика осуществляется посредством флага, где XXX — тип процессора. Допустимые типы процессоров таковы:,  ,  ,  ,  ,   и. Если флаг  не используется,   будет использовать по умолчанию тип процессора той системы, на которой он был собран. Флаг  соответствует флагу   на x86.

Как можно установить модель планировщика без изменения набора инструкций?
Установить модель планировщика без изменения набора инструкций можно посредством флага, где XXX — нужный тип процессора. Допустимые типы процессоров таковы:,  ,  ,  ,  ,   и. Флаг  подразумевает флаг , поэтому, если установлен  ,   устанавливать необязательно. Флаг  соответствует флагу   на x86.

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

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

Как можно указать задержку памяти системы?
Задержку памяти системы можно указать посредством флага, где XXX — количество циклов системных часов. Этот флаг устанавливает время задержки, которое планировщик должен использовать для обращений к памяти. У  есть несколько предопределенных "типичных" значений, которые также можно указать во флаге. Это следующие значения:  для Dcache,   для Scache,   для Bcache и   для основной памяти.

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

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

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

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

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

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

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

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

Что такое ARC?
ARC is based on the Advanced RISC Computing (ARC) specification, which provides an operating environment for Windows NT.

How can I tell if which firmware my Alpha has, ARC or SRM?
When you power your system on you will see a screen with a blue background and white text if it is using SRM. You will see a graphical boot system if it is using ARC.

Which bootloader do I use?
If your Alpha system supports SRM, then you should use aboot. If your system supports both SRM and ARCs (ARC, AlphaBIOS, ARCSBIOS), then you should follow the SRM Firmware Howto for switching to SRM and use aboot. If your system can only use ARCs (Ruffian, xl, etc.) then you will need to choose milo.

Can aboot boot kernels from EXT4, XFS, ReiserFS, or JFS partitions?
No,  only supports booting kernels from   and   partitions. You may still use other files systems for your root partition, you just need to create a partition with either   or   on it.

Support for ext4 is planned. In fact, there are patches floating around that add support for ReiserFS, XFS, and ext4.

How is Java support in Gentoo/Alpha?
Compaq/HP offered binary packages, called  and. They stopped all support, and the packages were removed from Gentoo on October 11, 2006. Since then, we haven't supported Java.

Will there ever be working Java support?
It's possible to use  on Alpha, but we have no plans to support it, due to the high maintenance costs involved with testing hundreds of additional packages.

How is .NET support in Gentoo/Alpha?
Neither of the two main open source efforts, mono nor DotGNU, support the alpha architecture.

What is needed for .NET support?
Bringing .NET to Alpha isn't a simple task. It requires coding all of the assembly language code generation macros for the JIT (just in time) compiler and coding architecture specific functions (register allocators, etc).

Which kernel sources should I use?
We recommend using  but   is also supported by Gentoo/Alpha. You should read the Gentoo Kernel Guide to determine which one is right for your needs.

My system is broken with kernel-2.6, Can I build a 2.4 bassed system?
Gentoo/Alpha stopped supporting 2.4 kernel and profile in January 2008. Technically you can build a 2.4 Gentoo System (the kernel is in the tree) but you will have to mask all the 2.6 only packages by yourself and you won't have support from developers.

Gentoo/Alpha will review all bug reports about non-working 2.6 systems and will try to help as much as we can.

Are hardened-sources supported?
Short answer is no. They were supported some time ago, but we lost the hardware and the maintainer so now they are not supported. If you are interested and want to continue the initial work, please let us know.

Does the 2.6 kernel support Alpha SMP?
There were some times in the past when it was broken. However, modern kernel versions are known to work well.

How do I report bugs?
If you find a bug or you want to send us patches, then you need to file a bug report. It only takes you a little bit of your time, and your help is really appreciated. Please follow the Gentoo Bug Reporting Guide.

How can I help the Gentoo/Alpha Project?
Users can help us by:


 * Filing clear and concise.
 * Testing software that does not yet have the  keyword.
 * Answering questions on the mailing lists, forum and IRC channel.
 * Sending patches
 * Becoming an AT

Is there an Alpha Arch Testers Project?
Yes, see the Gentoo Linux Alpha Arch Testers Project page for details.

Why is Xorg locking up my Alpha?
This is usually caused by a bad -mcpu setting. For example, the AlphaServer 800 needs to be compiled with the  flag for xorg and glibc. Failing to do so will cause undesired results.

Why is there no Gentoo on Alpha forum?
On the Gentoo Forums there are several arch specific categories like Gentoo on PPC and Gentoo on Sparc. There is no Gentoo on Alpha category because there simply isn't enough Gentoo/Alpha activity on the forums to warrant one. All Alpha related posts should go in the Gentoo on Alternative Architectures category.

Where can I get more help or information about Gentoo/Alpha?
If any of your questions weren't answered here, you can try other resources like the Alpha Handbook or our project homepage. You can also ask us at  on , Gentoo on Alternative Architectures Forum, or on the  mailing list.

Where can I get more help or information about Alpha/Linux?
AlphaLinux.org is a central repository for all things Alpha/Linux.