Alpha/FAQ
この FAQ は、Gentoo 上の Alpha と、Linux 上の Alpha 一般に関わる、とりわけよくある質問の一部に回答しています。
メインの FAQ や、パッケージマネージャに関するよくある質問については Portage FAQ も参照してください。ハンドブックにも FAQ の節があります。ドキュメンテーション wiki および wiki の編集に関するよくある質問については、wiki FAQ を参照してください。 AMD64/FAQ、PPC/FAQ、そして MIPS/FAQ など、他のアーキテクチャ固有の FAQ もあります。
はじめに
この文書は、Gentoo/Alpha および Alpha/Linux に関する特によくある質問に答えており、初心者と経験者の両方に宛てられているものです。
Alpha プロジェクトについて
Alpha とは何ですか?
Alpha プロジェクトには、Alpha プラットフォームのために Gentoo ディストリビューションを更新し現状に合わせる責務があります。この責務には主に、パッケージのキーワード設定や、ソフトウェアの移植、新たなリリースの提供が含まれます。Alpha プロジェクトは、デスクトップ用途にもサーバ用途にも適した有用な環境を提供することを目指しています。
Alpha アーキテクチャ
Alpha アーキテクチャは終わったのではないですか?
はい。2007 年 4 月 27 日に、HP は新たな Alpha システムの受注を止めました。
32 ビットアプリケーションを実行することはできますか?
32 ビット Alpha などというものはありません、このアーキテクチャは最初から 64 ビットのみでした。gcc に -m32
コンパイラフラグを与えて 32 ビットコードを出力させることですら、不可能です。
Alpha は、ビッグエンディアンですか、リトルエンディアンですか?
Alpha システムは、リトルエンディアンです。Alpha を用いたある巨大な Cray システムはビッグエンディアンでしたが、Linux は一切サポートしません。
Alpha 上で Linux/x86 アプリケーションを実行することはできますか?
QEMU のような x86 エミュレータを使用しない限り、できません。過去には、DEC/Compaq/HP は Linux/x86 アプリケーションを Linux/Alpha システム上で実行させることができる、em86
というプログラムを保守していました。しかしながらこのプログラムはクローズドソースで、もう上流によって保守されていません。gcc-3 の ABI と互換性がある em86
バイナリは存在しません。
なぜ Alpha に Gentoo をインストールするのでしょうか?
確かに、amd64 などのより高速な 64 ビットシステムを、そこらで見つけることができるでしょう。しかし、それは Alpha システムが無意味だということではありません。この種のハードウェアに Linux をインストールしたいであろう良い理由はわずかながら、以下のようなものがあります:
- 古いコンピュータを有用なものに転換することができます。古い Alpha は優れたルータやサーバになります。デスクトップ性能も、まあ悪くはありません。
- 一般的でないコンピュータハードウェアについて学ぶことができるでしょう。
- かっこいいから。Alpha 上で Linux を動かせたと言える人がいったい何人いるでしょう?
どうしたら Alpha ハードウェアを購入することができますか?
一般的に、地元のコンピューター店では売られていません。eBay は大概、良い選択肢です。しかし、送料が高額になってコストが見合わないと思われます。Google で検索するといくつかの機器販売業者が見つかりますが、その多くは費用が高額です。
ハードウェア
Alpha サーバーのケースを開けましたが、電源が入りません
AlphaServers have interlock switches to prevent the system from running while the chassis is open. When the chassis is open, so are the switches, and power is cut to the system. Some AlphaServers, like the ES40, have multiple access panels in the chassis; on these systems, only certain panels being open may cause the computer to shut off, whereas others may just cause it to complain on the control panel. Some AlphaServers can have a jumper set on the mainboard that causes them to remain powered on even if the chassis is open. Some AlphaServers, like the 2100, are finicky, and their interlock switches might still be open even if the chassis is closed - try tightening the panel screws or jiggling the chassis panels a little.
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 に推奨されるコンパイラーフラグは何ですか?
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 gcc 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 -mcpu=XXX
, where XXX is your cpu type. Valid cpu types are ev4
, ev45
, ev5
, ev56
, pca56
, ev6
and ev67
. If you do not use the -mcpu=XXX
flag, then gcc
will default to the cpu type of the machine it was compiled on. -mcpu=
is equivalent to the -march=
flag on x86.
AlphaServer 800 users should set
ev5
. There are known issues setting ev56
particularly with Xorg causing a full system lock up.How do I specify the scheduling model without changing the instruction set?
You can specify the scheduling model without changing the instruction set with -mtune=XXX
, where XXX is your cpu type. Valid cpu types are ev4
, ev45
, ev5
, ev56
, pca56
, ev6
and ev67
. -mtune=
is implied by -mcpu=
, so you don't need to specify this with if you set -mcpu=
. -mtune=
is equivalent to the -mcpu=
flag on x86.
How do I enable software assisted floating point numbers?
You can enable software assisted floating point numbers with -mieee
. 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 CFLAGS 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 -mmemory-latency=XXX
, where XXX is the number of clock cycles. This sets the latency time that the scheduler should assume for memory references. gcc
has some predefined "typical" values that are also accepted by -mmemory-latency=XXX
. Those values are L1
for Dcache, L2
for Scache, L3
for Bcache, and main
for main memory.
This flag should probably not be use in your global CFLAGS 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 -msmall-data
. This will cause gcc
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.
-fPIC
will override-msmall-data
, so you should use the-fpic
flag instead if you do not want-msmall-data
to be overridden.
This flag should probably not be used in your global CFLAGS 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 -msmall-text
. This will cause gcc
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 CFLAGS 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 CFLAGS, please use these CFLAGS cautiously. They may break your system. If you experience problems, try using less aggressive CFLAGS before bugs.
Alpha の起動とブートローダ
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.
ARC とは何ですか?
ARC is based on the Advanced RISC Computing (ARC) specification, which provides an operating environment for Windows NT.
私の Alpha が ARC と 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.
どのブートローダーを利用すべきですか?
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.
aboot で EXT4、XFS、ReiserFS、または JFS パーティションからブートすることはできますか?
No, aboot
only supports booting kernels from ext2
and ext3
partitions. You may still use other files systems for your root partition, you just need to create a /boot partition with either ext2
or ext3
on it.
Support for ext4 is planned. In fact, there are patches floating around that add support for ReiserFS, XFS, and ext4.
ソフトウェア
Alpha での Java サポートはどうなっていますか?
Compaq/HP は compaq-jre
および compaq-jdk
と呼ばれるバイナリパッケージを提供していました。サポートはすべて終了し、パッケージは 2006 年 10 月 11 日に Gentoo から削除されました。それ以来、私たちは Java をサポートしていません。
動作する Java サポートはまったくないのですか?
Alpha 上で icedtea
を使用することはできますが、数百の追加パッケージをテストするのにかかる高い保守コストのために、私たちがそれをサポートする計画はまったくありません。
Alpha での .NET サポートはどうなっていますか?
オープンソースでの 2 大成果である mono と DotGNU のいずれも、alpha アーキテクチャはサポートしていません。
.NET サポートには何が必要ですか?
.NET を Alpha に移植するのは簡単な作業ではありません。JIT (just in time) コンパイラのためのアセンブリ言語コード生成マクロをゼロから書き起こし、さらにアーキテクチャ特有の関数 (レジスタアロケータ等) もコーディングする必要があります。
Alpha Linux カーネル
どのカーネルソースを利用すべきですか?
We recommend using gentoo-sources
but vanilla-sources
is also supported by 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 based system?
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.
Alpha will review all bug reports about non-working 2.6 systems and will try to help as much as we can.
hardened-sources はサポートされていますか?
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.
バージョン 2.6 系のカーネルは Alpha SMP をサポートしていますか?
There were some times in the past when it was broken. However, modern kernel versions are known to work well.
Alpha プロジェクトを支援する
バグ報告の方法は?
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.
どうすれば Alpha プロジェクトを手助けできますか?
Users can help us by:
- Filing clear and concise bugs.
- Testing software that does not yet have the ~alpha keyword.
- Answering questions on the mailing lists, forum and IRC channel.
- Sending patches
- Becoming an AT
Alpha アーキテクチャーのテスターのプロジェクトはありますか?
はい。詳細は Alpha arch testers project ページを見てください。
トラブルシューティング
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 ev5
flag for xorg and glibc. Failing to do so will cause undesired results.
その他の資料
Gentoo フォーラムに Alpha がないのはなぜですか?
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 Alpha activity on the forums to warrant one. All Alpha related posts should go in the Gentoo on Alternative Architectures category.
どこで 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 #gentoo-alpha (webchat), Gentoo on Alternative Architectures Forum, or on the gentoo-alpha@lists.gentoo.org mailing list.
どこで Linux 上の Alpha に関する助けや情報を入手できますか?
AlphaLinux.org is a central repository for all things 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.