Alpha/FAQ/ko

This FAQ is intended to answer some of the most frequently asked questions relating to Gentoo/Alpha and Linux/Alpha in general.

Introduction
This document contains answers to the most commonly asked questions about Gentoo/Alpha and Alpha/Linux. It's aimed at both new users and experienced users alike.

What is Gentoo/Alpha?
The Gentoo/Alpha project is responsible for keeping the Gentoo distribution updated and current for the Alpha platform. This primarily includes keywording packages, porting software, and making new releases. The Gentoo/Alpha project aims to provide a usable environment for both desktops and servers.

Isn't the Alpha architecture dead?
Kind of, yes. HP stopped taking orders for new Alpha systems on April 27, 2007. and for Alpha options and upgrades on April 25, 2008. See their planning page for more details.

Can I run 32-bit applications?
No, all Alpha systems use a pure 64 bit kernel and a pure 64 bit userland. You cannot even force gcc to output 32 bit code using the  compiler flag.

Is Alpha big endian or little endian?
Alpha systems are little endian. A large Cray system using Alphas was big endian, but Linux will never support it.

Can I run Linux/x86 applications on Alpha?
No, not without a x86 emulator like qemu. In the past DEC/Compaq/HP maintained a program called  which allowed Linux/x86 applications to be run on Linux/Alpha systems. However, the program is closed source and no longer maintained upstream. There are no  binaries available that are compatible with gcc-3's ABI.

Why install Gentoo on Alpha?
Admittedly, you can find faster 64-bit systems out there, like amd64. However, that doesn't mean that Alpha systems are useless. The following are a few good reasons why you'd want to install Linux on this sort of hardware:


 * You can turn an old computer into something useful. Older Alphas make great routers and servers. Their desktop performance isn't that bad either.
 * You will learn about unusual computer hardware.
 * It's cool. How many people can say they've got Linux running on an Alpha?

Where can I buy Alpha hardware?
Alpha hardware generally isn't available at your local computer store. eBay is usually a good option, assuming that the shipping doesn't cost you too much. There are several used equipment dealers that can be found via Google, however most of them charge too much.

I opened up the case on an AlphaServer and now it won't power on, what do I do?
Make sure the top panel of the case is on and properly in place. The middle of the top panel of the case has a small piece of metal oriented downwards. When the top panel is put back in place properly, the small piece of metal will press down on a switch. When the switch isn't pressed down, the system will refuse to power on.

추천하는 알파 관련 컴파일러 플래그가 있나요?
As with all compiler optimizations, don't over do it. Use these flags with care and they will give you a stable, speedy system; use them too aggressively and you could seriously break your system. When in doubt, leave it out. If you need further clarification, check the  man page.

How do I optimize for a specific instruction set and scheduling model?
You can optimize for a specific instruction set and scheduling model with , where XXX is your cpu type. Valid cpu types are ,   ,   ,   ,   ,   and. If you do not use the  flag, then   will default to the cpu type of the machine it was compiled on. is equivalent to the  flag on x86.

How do I specify the scheduling model without changing the instruction set?
You can specify the scheduling model without changing the instruction set with , where XXX is your cpu type. Valid cpu types are ,   ,   ,   ,   ,   and. is implied by , so you don't need to specify this with if you set. is equivalent to the  flag on x86.

How do I enable software assisted floating point numbers?
You can enable software assisted floating point numbers with. This will enable software assistance to correctly support denormalized numbers and exceptional IEEE values such as not-a-number and plus/minus infinity.

This should be in your global  unless you really know what you are doing.

How do I specify the memory latency of my system?
You can specify the memory latency of your system with , where XXX is the number of clock cycles. This sets the latency time that the scheduler should assume for memory references. has some predefined "typical" values that are also accepted by. Those values are  for Dcache,   for Scache,   for Bcache, and   for main memory.

This flag should probably not be use in your global  as the value you choose is highly dependent on the memory access pattern of the application you are compiling.

How do I specify that static data should be placed in the small data area?
You can specify that static data should be placed in the small data area with. This will cause  to take advantage of some features of the Alpha architecture by storing heavily used pieces of data in specific sections called the small memory sections. The sections are limited to 64KiB which means accessing anything stored in them will only take one instruction.

will override, so you should use the  flag instead if you do not want  to be overridden.

This flag should probably not be used in your global  as some objects require more than 64KiB to be stored, and this will cause a gp_overflow ld error.

How do I specify that object code should be placed in the small text area?
You can specify that object code should be placed in the small text area with. This will cause  to assume that the entire program (or library) fits in 4MB, and is thus reachable with a branch instruction. This reduces the number of instructions required for a function call from 4 to 1.

This flag should probably not be used in your global  as some programs (or libraries) are larger than 4MB, and this will cause an ld error.

What do I do if any of these compiler flags cause a compile, linker, or runtime error?
As, please use these   cautiously. They may break your system. If you experience problems, try using less aggressive  before.

What is SRM?
SRM is based on the Alpha Console Subsystem specification, which provides an operating environment for OpenVMS, Tru64 UNIX, and Linux operating systems. See the SRM Howto for more information about SRM.

What is 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.

젠투/알파 에서 자바 지원은 어떻게 되나요?
컴팩/HP에서  와  라고 하는 바이너리 패키지를 제공합니다. 모든 지원을 중단했고 패키지는 2006년 10월 11일부로 젠투에서 제거했습니다. 그 이후로, 자바를 지원하지 않습니다.

자바 지원을 위한 작업을 할건가요?
알파에서 를 사용할 수는 있겠지만, 엄청나게 많은 추가 패키지를 시험하는데 상당한 유지 비용이 수반되기 때문에 지원 계획은 없습니다.

젠투/알파에서 .NET 지원은 어떻게 되나요?
알파 지원에 대해서는 모노 또는 DotGNU 그 어디에도 없습니다.

.NET 지원에 필요한건 무엇인가요?
.NET을 알파로 끌어오는건 간단한 일이 아닙니다. JIT 컴파일러에 대한 모든 어셈블리 언어 코드 생성 매크로를 코딩해야 하고 아키텍처 관련 함수(레지스터 할당자 등)도 코딩해야 합니다.

어떤 커널 소스코드를 사용해야 하나요?
사용을 추천하지만 도 젠투/알파에서 지원합니다. 어떤 커널이 필요에 맞는지 판단하려면 젠투 커널 안내서를 읽어보시는것이 좋습니다.

kernel-2.6에서 동작을 안하는데요, 2.4 기반 시스템으로 빌드할 수 있을까요?
젠투/알파는 2008년 1월을 기점으로 2.4 커널과 프로파일의 지원을 중단했는데요. 기술적으로는 2.4 젠투 시스템(트리의 커널)을 빌드할 수 있지만, 2.6 전용 꾸러미는 여러분 자신이 가려야 하고, 이 문제에 대해서는 개발자들의 지원을 받을 수 없습니다.

젠투/알파는 동작하지 않는 2.6 시스템에 대해 버그 보고서를 확인하고, 할 수 있는 한 최대한 도움을 드리려 할 것입니다.

hardened-sources를 지원하나요?
간단하게는 "아니요"입니다. 얼마전까지만 해도 지원했지만, 하드웨어와 관리자를 잃음으로서 지원하지 않습니다. 초기 작업을 계속해보고 싶고 관심이 있다면 알려주십시오.

2.6 커널에 알파 SMP를 지원하나요?
과거에 몇번 깨진 적이 있습니다. 그러나 최근 버전에서는 잘 동작하는 걸로 알려져 있습니다.

버그를 어떻게 보고하죠?
버그를 찾으려 하거나 패치를 보내려 한다면, 버그를 보고해야 합니다. 시간이 약간 걸릴 수 있을 뿐, 도움은 정말로 고맙게 생각합니다. 젠투 버그 보고 안내서를 따라주십시오.

젠투/알파 프로젝트를 어떻게 돕죠?
다음 방식으로 도와주실 수 있습니다:


 * 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

알파 아키텍처 테스터 프로젝트가 있나요?
예. 자세한 내용은 젠투 리눅스 알파 아키텍처 테스터 프로젝트를 보십시오.

왜이리 Xorg가 알파 머신을 뒤지는거죠?
잘못된 -mcpu 설정으로 인해 일어납니다. 예를 들어 AlphaServer 800에서는 xorg 와 glibc를 컴파일할 때  플래그로 컴파일 해야 합니다. 알파 머신을 뒤지다 실패하면 기대치 못한 결과가 야기됩니다.

젠투 알파 포럼이 왜 없죠?
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.

젠투/알파에 대해 더 많은 도움이나 정보는 어디서 얻나요?
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.

알파/리눅스에 대해 더 많은 도움이나 정보는 어디서 얻나요?
AlphaLinux.org is a central repository for all things Alpha/Linux.

감사문
이 안내서에 제공한 노고에 대해 다음 작성자와 편집자분들께 감사의 말을 전하고자 합니다:


 * Thomas Cort
 * Brian Evans
 * nightmorph
 * Matt Turner