/[gentoo]/xml/htdocs/doc/en/gentoo-alpha-faq.xml
Gentoo

Contents of /xml/htdocs/doc/en/gentoo-alpha-faq.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download) (as text)
Thu Jan 12 21:32:14 2006 UTC (8 years, 6 months ago) by neysx
Branch: MAIN
File MIME type: application/xml
#116192 New Gentoo/Alpha FAQ

1 neysx 1.1 <?xml version="1.0" encoding="UTF-8"?>
2     <!-- $Header: $ -->
3    
4     <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
5     <guide link="/doc/en/gentoo-alpha-faq.xml">
6    
7     <title>Gentoo Linux/Alpha Frequently Asked Questions</title>
8     <author title="Author">
9     <mail link="tcort@cs.ubishops.ca">Thomas Cort</mail>
10     </author>
11    
12     <abstract>
13     This FAQ is intended to answer some of the most frequently asked questions
14     relating to Gentoo/Alpha and Linux/Alpha in general.
15     </abstract>
16    
17     <!-- The content of this document is licensed under the CC-BY-SA license -->
18     <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
19     <license/>
20    
21     <version>1.0</version>
22     <date>2006-01-12</date>
23    
24     <chapter>
25     <title>About this Document</title>
26    
27     <section>
28     <title>Introduction</title>
29     <body>
30    
31     <p>
32     This document contains answers to the most commonly asked questions about
33     Gentoo/Alpha and Alpha/Linux. It's aimed at both new users and experienced
34     users alike.
35     </p>
36    
37    
38     </body>
39     </section>
40    
41     <section>
42     <title>Content</title>
43     <body>
44    
45     <p>
46     <b>About the Gentoo/Alpha Project</b>
47     </p>
48    
49     <ul>
50     <li><uri link="#what">What is Gentoo/Alpha?</uri></li>
51     <li>
52     <uri link="#status">
53     What is the current status of the Gentoo/Alpha Project?
54     </uri>
55     </li>
56     </ul>
57    
58     <p>
59     <b>The Alpha Architecture</b>
60     </p>
61    
62     <ul>
63     <li><uri link="#dead">Isn't the Alpha architecture dead?</uri></li>
64     <li><uri link="#32bit">Can I run 32-bit applications?</uri></li>
65     <li><uri link="#endian">Is Alpha big endian or little endian?</uri></li>
66     <li><uri link="#i386">Can I run Linux/x86 applications on Alpha?</uri></li>
67     <li><uri link="#why">Why install Gentoo on Alpha?</uri></li>
68     <li><uri link="#where">Where can I buy Alpha hardware?</uri></li>
69     </ul>
70    
71     <p>
72     <b>Alpha Specific Compiler Flags</b>
73     </p>
74    
75     <ul>
76     <li>
77     <uri link="#CFLAGS">
78     Is the use of Alpha specific compiler flags recommended?
79     </uri>
80     </li>
81     <li>
82     <uri link="#MCPU">
83     How do I optimize for a specific instruction set and scheduling model?
84     </uri>
85     </li>
86     <li>
87     <uri link="#MTUNE">
88     How do I specify the scheduling model without changing the instruction set?
89     </uri>
90     </li>
91     <li>
92     <uri link="#mieee">
93     How do I enable software assisted floating point numbers?
94     </uri>
95     </li>
96     <li>
97     <uri link="#MEMLAT">How do I specify the memory latency of my system?</uri>
98     </li>
99     <li>
100     <uri link="#SMALLDATA">
101     How do I specify that static data should be placed in the small data area?
102     </uri>
103     </li>
104     <li>
105     <uri link="#SMALLTEXT">
106     How do I specify that object code should be placed in the small text area?
107     </uri>
108     </li>
109     <li>
110     <uri link="#CFLAGSERR">
111     What do I do if any of these compiler flags cause a compile, linker, or
112     runtime error?
113     </uri>
114     </li>
115     </ul>
116    
117     <p>
118     <b>Alpha Booting and Bootloaders</b>
119     </p>
120    
121     <ul>
122     <li><uri link="#SRM">What is SRM?</uri></li>
123     <li><uri link="#ARC">What is ARC?</uri></li>
124     <li>
125     <uri link="#ARCvsSRM">
126     How can I tell if which firmware my Alpha has, ARC or SRM?
127     </uri>
128     </li>
129     <li><uri link="#whichbootloader">Which bootloader do I use?</uri></li>
130     </ul>
131    
132     <p>
133     <b>Java on Gentoo/Alpha</b>
134     </p>
135    
136     <ul>
137     <li><uri link="#javasupport">How is Java support in Gentoo/Alpha?</uri></li>
138     <li><uri link="#compaqjava">What's wrong with compaq-jdk?</uri></li>
139     <li><uri link="#currentjava">Will there ever be working Java support?</uri></li>
140     </ul>
141    
142     <p>
143     <b>Alpha Linux Kernel</b>
144     </p>
145    
146     <ul>
147     <li><uri link="#whichkernel">Which kernel sources should I use?</uri></li>
148     <li><uri link="#selinux">Are hardened-sources supported?</uri></li>
149     <li><uri link="#smpkernel">Does the 2.6 kernel support Alpha SMP?</uri></li>
150     </ul>
151    
152     <p>
153     <b>Helping out the Gentoo/Alpha Project</b>
154     </p>
155    
156     <ul>
157     <li><uri link="#bugs">How do I report bugs?</uri></li>
158     <li><uri link="#project">How can I help the Gentoo/Alpha Project?</uri></li>
159     <li><uri link="#archtest">Is there an Alpha Arch Testers Project?</uri></li>
160     </ul>
161    
162     <p>
163     <b>Other Resources</b>
164     </p>
165    
166     <ul>
167     <li><uri link="#noforum">Why is there no Gentoo on Alpha forum?</uri></li>
168     <li>
169     <uri link="#othergentoo">
170     Where can I get more help or information about Gentoo/Alpha?
171     </uri>
172     </li>
173     <li>
174     <uri link="#other">
175     Where can I get more help or information about Alpha/Linux?
176     </uri>
177     </li>
178     </ul>
179    
180     </body>
181     </section>
182     </chapter>
183    
184     <chapter>
185     <title>About the Gentoo/Alpha Project</title>
186     <section id="what">
187     <title>What is Gentoo/Alpha?</title>
188     <body>
189    
190     <p>
191     The Gentoo/Alpha project is responsible for keeping the Gentoo distribution
192     updated and current for the Alpha platform. This primarily includes keywording
193     and new releases. The Gentoo/Alpha project aims to provide a usable environment
194     for both desktop and server usage.
195     </p>
196    
197     </body>
198     </section>
199     <section id="status">
200     <title>What is the current status of the Gentoo/Alpha Project?</title>
201     <body>
202    
203     <p>
204     You can find out about the current status of the Gentoo/Alpha project in our
205     status reports. Jose Luis Rivero (<mail
206     link="yoswink@gentoo.org">yoswink</mail>) plans on releasing a Gentoo/Alpha
207     status report about once every 6 months. The current status report can be found
208     <uri link="/proj/en/base/alpha/status/status-20051207.xml"> here</uri>.
209     </p>
210    
211     </body>
212     </section>
213     </chapter>
214    
215     <chapter>
216     <title>The Alpha Architecture</title>
217     <section id="dead">
218     <title>Isn't the Alpha architecture dead?</title>
219     <body>
220    
221     <p>
222     Not yet! HP will be taking orders for new Alpha systems until October 27, 2006
223     and Alpha options and upgrades until November 2, 2007. See their <uri
224     link="http://h18002.www1.hp.com/alphaserver/planning2005.html">planning
225     page</uri> for more details.
226     </p>
227    
228     </body>
229     </section>
230     <section id="32bit">
231     <title>Can I run 32-bit applications?</title>
232     <body>
233    
234     <p>
235     No, all Alpha systems use a pure 64 bit kernel and a pure 64 bit userland. You
236     cannot even force gcc to output 32 bit code using the <c>-m32</c> compiler
237     flag.
238     </p>
239    
240     </body>
241     </section>
242     <section id="endian">
243     <title>Is Alpha big endian or little endian?</title>
244     <body>
245    
246     <p>
247     All Alpha systems support both little and big endian. However, Linux only uses
248     little endian.
249     </p>
250    
251     </body>
252     </section>
253     <section id="i386">
254     <title>Can I run Linux/x86 applications on Alpha?</title>
255     <body>
256    
257     <p>
258     No, not without a full x86 system emulator like <uri
259     link="http://bochs.sourceforge.net/">bochs</uri>. In the past DEC/Compaq/HP
260     maintained a program called <c>em86</c> which allowed Linux/x86 applications to
261     be run on Linux/Alpha systems. However, the program is closed source and no
262     longer maintained upstream. There are no <c>em86</c> binaries available that
263     are compatible with gcc3's ABI.
264     </p>
265    
266     </body>
267     </section>
268     <section id="why">
269     <title>Why install Gentoo on Alpha?</title>
270     <body>
271    
272     <p>
273     Admittedly, you can find faster 64-bit systems out there, like amd64. However,
274     that doesn't mean that Alpha systems are useless. The following are a few good
275     reasons why you'd want to install Linux on this sort of hardware:
276     </p>
277    
278     <ul>
279     <li>
280     You can turn an old computer into something useful. Older Alphas make great
281     routers and servers. Their desktop performance isn't that bad either.
282     </li>
283     <li>You will learn about unusual computer hardware.</li>
284     <li>
285     It's cool. How many people can say they've got Linux running on an Alpha?
286     </li>
287     </ul>
288    
289     </body>
290     </section>
291     <section id="where">
292     <title>Where can I buy Alpha hardware?</title>
293     <body>
294    
295     <p>
296     Alpha hardware generally isn't available at your local computer store. If you
297     want a new Alpha you're going to have to contact <uri
298     link="http://h18002.www1.hp.com/alphaserver/">HP</uri>. If you want a used
299     Alpha (more economical), <uri link="http://ebay.com">eBay</uri> is usually a
300     good option, assuming that the shipping doesn't cost you too much. There are
301     several used equipment dealers that can be found via google, however most of
302     them charge too much.
303     </p>
304    
305     </body>
306     </section>
307     </chapter>
308    
309     <chapter>
310     <title>Alpha Specific Compiler Flags</title>
311     <section id="CFLAGS">
312     <title>Is the use of Alpha specific compiler flags recommended?</title>
313     <body>
314    
315     <p>
316     As with all compiler optimizations, don't over do it. Use these flags with care
317     and they will give you a stable, speedy system; use them too aggressively and
318     you could seriously break your system. When in doubt, leave it out. If you need
319     further clarification, check the <c>gcc</c> man page.
320     </p>
321    
322     </body>
323     </section>
324     <section id="MCPU">
325     <title>
326     How do I optimize for a specific instruction set and scheduling model?
327     </title>
328     <body>
329    
330     <p>
331     You can optimize for a specific instruction set and scheduling model with
332     <c>-mcpu=XXX</c>, where XXX is your cpu type. Valid cpu types are <c>ev4</c>,
333     <c>ev45</c>, <c>ev5</c>, <c>ev56</c>, <c>pca56</c>, <c>ev6</c> and <c>ev67</c>.
334     If you do not use the <c>-mcpu=XXX</c> flag, then <c>gcc</c> will default to
335     the cpu type of the machine it was compiled on. <c>-mcpu=</c> is equivalent to
336     the <c>-march=</c> flag on x86.
337     </p>
338    
339     </body>
340     </section>
341     <section id="MTUNE">
342     <title>
343     How do I specify the scheduling model without changing the instruction set?
344     </title>
345     <body>
346    
347     <p>
348     You can specify the scheduling model without changing the instruction set with
349     <c>-mtune=XXX</c>, where XXX is your cpu type. Valid cpu types are <c>ev4</c>,
350     <c>ev45</c>, <c>ev5</c>, <c>ev56</c>, <c>pca56</c>, <c>ev6</c> and <c>ev67</c>.
351     <c>-mtune=</c> is implied by <c>-mcpu=</c>, so you don't need to specify this
352     with if you set <c>-mcpu=</c>. <c>-mtune=</c> is equivalent to the
353     <c>-mcpu=</c> flag on x86.
354     </p>
355    
356     </body>
357     </section>
358     <section id="mieee">
359     <title>How do I enable software assisted floating point numbers?</title>
360     <body>
361    
362     <p>
363     You can enable software assisted floating point numbers with <c>-mieee</c>.
364     This will enable software assistance to correctly support denormalized numbers
365     and exceptional IEEE values such as not-a-number and plus/minus infinity.
366     </p>
367    
368     <p>
369     This should be in your global <c>CFLAGS</c> unless you really know what you are
370     doing.
371     </p>
372    
373     </body>
374     </section>
375     <section id="MEMLAT">
376     <title>How do I specify the memory latency of my system?</title>
377     <body>
378    
379     <p>
380     You can specify the memory latency of your system with
381     <c>-mmemory-latency=XXX</c>, where XXX is the number of clock cycles. This sets
382     the latency time that the scheduler should assume for memory references.
383     <c>gcc</c> has some predefined "typical" values that are also accepted by
384     <c>-mmemory-latency=XXX</c>. Those values are <c>L1</c> for Dcache, <c>L2</c>
385     for Scache, <c>L3</c> for Bcache, and <c>main</c> for main memory.
386     </p>
387    
388     <p>
389     This flag should probably not be use in your global <c>CFLAGS</c> as the value
390     you choose is highly dependent on the memory access pattern of the application
391     you are compiling.
392     </p>
393    
394     </body>
395     </section>
396     <section id="SMALLDATA">
397     <title>
398     How do I specify that static data should be placed in the small data area?
399     </title>
400     <body>
401    
402     <p>
403     You can specify that static data should be placed in the small data area with
404     <c>-msmall-data</c>. This will cause <c>gcc</c> to take advantage of some
405     features of the Alpha architecture by storing heavily used pieces of data in
406     specific sections called the small memory sections. The sections are limited to
407     64kb which means accessing anything stored in them will only take one
408     instruction.
409     </p>
410    
411     <p>
412     <c>-fPIC</c> will override <c>-msmall-data</c>, so you should use the
413     <c>-fpic</c> flag instead if you do not want <c>-msmall-data</c> to be
414     overridden.
415     </p>
416    
417     <p>
418     This flag should probably not be used in your global <c>CFLAGS</c> as some
419     objects require more than 64kb to be stored, and this will cause a gp_overflow
420     ld error.
421     </p>
422    
423     </body>
424     </section>
425     <section id="SMALLTEXT">
426     <title>
427     How do I specify that object code should be placed in the small text area?
428     </title>
429     <body>
430    
431     <p>
432     You can specify that object code should be placed in the small text area with
433     <c>-msmall-text</c>. This will cause <c>gcc</c> to assume that the entire
434     program (or library) fits in 4MB, and is thus reachable with a branch
435     instruction. This reduces the number of instructions required for a function
436     call from 4 to 1.
437     </p>
438    
439     <p>
440     This flag should probably not be used in your global <c>CFLAGS</c> as some
441     programs (or libraries) are larger than 4MB, and this will cause an ld error.
442     </p>
443    
444     </body>
445     </section>
446     <section id="CFLAGSERR">
447     <title>
448     What do I do if any of these compiler flags cause a compile, linker, or
449     runtime error?
450     </title>
451     <body>
452    
453     <p>
454     As <uri link="#CFLAGS">already mentioned</uri>, please use these <c>CFLAGS</c>
455     cautiously. They may break your system. If you experience problems, try using
456     less aggressive <c>CFLAGS</c> before <uri link="#bugs">filing a bug
457     report</uri>.
458     </p>
459    
460     </body>
461     </section>
462     </chapter>
463    
464     <chapter>
465     <title>Alpha Booting and Bootloaders</title>
466     <section id="SRM">
467     <title>What is SRM?</title>
468     <body>
469    
470     <p>
471     SRM is based on the Alpha Console Subsystem specification, which provides an
472     operating environment for OpenVMS, Tru64 UNIX, and Linux operating systems. See
473     the <uri link="http://www.alphalinux.org/faq/SRM-HOWTO/"> SRM Howto</uri> for
474     more information about SRM.
475     </p>
476    
477     </body>
478     </section>
479     <section id="ARC">
480     <title>What is ARC?</title>
481     <body>
482    
483     <p>
484     ARC is based on the Advanced RISC Computing (ARC) specification, which provides
485     an operating environment for Windows NT.
486     </p>
487    
488     </body>
489     </section>
490     <section id="ARCvsSRM">
491     <title>How can I tell if which firmware my Alpha has, ARC or SRM?</title>
492     <body>
493    
494     <p>
495     When you power your system on you will see a screen with a blue background and
496     white text if it is using SRM. You will see a graphical boot system if it is
497     using ARC.
498     </p>
499    
500     </body>
501     </section>
502     <section id="whichbootloader">
503     <title>Which bootloader do I use?</title>
504     <body>
505    
506     <p>
507     If your Alpha system supports SRM, then you should use aboot. If your system
508     supports both SRM and ARCs (ARC, AlphaBIOS, ARCSBIOS), then you should follow
509     <uri link="http://www.alphalinux.org/faq/x31.html">the SRM Firmware Howto</uri>
510     for switching to SRM and use aboot. If your system can only use ARCs (Ruffian,
511     nautilus, xl, etc.) then you will need to choose milo.
512     </p>
513    
514     </body>
515     </section>
516     </chapter>
517     <chapter>
518     <title>Java on Gentoo/Alpha</title>
519    
520     <section id="javasupport">
521     <title>How is Java support in Gentoo/Alpha?</title>
522     <body>
523    
524     <p>
525     Currently, there is only one option for Java VM and Java SDK on Gentoo/Alpha.
526     The packages are called <c>compaq-jre</c> and <c>compaq-jdk</c>.
527     </p>
528    
529     </body>
530     </section>
531     <section id="compaqjava">
532     <title>What's wrong with compaq-jdk?</title>
533     <body>
534    
535     <p>
536     <c>compaq-jre</c> and <c>compaq-jdk</c> are not very desirable because they are
537     unsupported upstream and obsolete. They only provide Java 1.3.1 and are binary
538     only. The binaries are compiled against an older glibc which causes some
539     unexpected results when you are using a recent glibc. See <uri
540     link="https://bugs.gentoo.org/84306">bug #84306</uri> for our attempts at
541     workarounds.
542     </p>
543    
544     </body>
545     </section>
546     <section id="currentjava">
547     <title>Will there ever be working Java support?</title>
548     <body>
549    
550     <p>
551     We really hope so. We are following the development of the jdk from <uri
552     link="http://sablevm.org">SableVM</uri>. It isn't ready yet, but we hope with
553     time that it will be a full drop in replacement jdk.
554     </p>
555    
556     </body>
557     </section>
558     </chapter>
559    
560     <chapter>
561     <title>Alpha Linux Kernel</title>
562     <section id="whichkernel">
563     <title>Which kernel sources should I use?</title>
564     <body>
565    
566     <p>
567     <c>gentoo-sources</c> and <c>vanilla-sources</c> are both supported. You
568     should read the <uri link="/doc/en/gentoo-kernel.xml">Gentoo Kernel Guide</uri>
569     to determine which one is right for your needs.
570     </p>
571    
572     </body>
573     </section>
574     <section id="selinux">
575     <title>Are hardened-sources supported?</title>
576     <body>
577    
578     <p>
579     <c>hardened-sources</c> and SELinux support is being worked on by Stephen
580     Bennett (<mail link="spb@gentoo.org">spb</mail>). We hope to see an SELinux
581     profile for Alpha in the tree as soon as we feel confident about it.
582     </p>
583    
584     </body>
585     </section>
586     <section id="smpkernel">
587     <title>Does the 2.6 kernel support Alpha SMP?</title>
588     <body>
589    
590     <p>
591     Working SMP for Alpha with the 2.6 Linux kernel varies from version to version.
592     If you find that it is broken and want SMP support you will need to use a 2.4
593     kernel. If you really need to run a 2.6 kernel on an SMP box and you don't care
594     that only one of your processors is getting used, then you could configure the
595     2.6 kernel without SMP support.
596     </p>
597    
598     <p>
599     The 2.6 Linux kernel runs fine on uniprocessor Alpha systems.
600     </p>
601    
602     </body>
603     </section>
604     </chapter>
605    
606     <chapter>
607     <title>Helping out the Gentoo/Alpha Project</title>
608     <section id="bugs">
609     <title>How do I report bugs?</title>
610     <body>
611    
612     <p>
613     If you find a bug or you want to send us patches, then you need to file a bug
614     report. It only takes you a little while, and your help is really appreciated.
615     Please follow the <uri link="/doc/en/bugzilla-howto.xml">Gentoo Bug Reporting
616     Guide</uri>.
617     </p>
618    
619     </body>
620     </section>
621     <section id="project">
622     <title>How can I help the Gentoo/Alpha Project?</title>
623     <body>
624    
625     <p>
626     Users can help us by:
627     </p>
628    
629     <ul>
630     <li>Filing clear and concise <uri link="#bugs">bug reports</uri>.</li>
631     <li>Testing software that does not yet have the <c>~alpha</c> keyword.</li>
632     <li>
633     Answering questions on the <uri link="/main/en/lists.xml">mailing
634     lists</uri>, <uri link="http://forums.gentoo.org/viewforum-f-32.html">
635     forum</uri> and IRC channel.
636     </li>
637     <li>Sending patches</li>
638     </ul>
639    
640     </body>
641     </section>
642     <section id="archtest">
643     <title>Is there an Alpha Arch Testers Project?</title>
644     <body>
645    
646     <p>
647     At the moment there is no arch testers project for Gentoo/Alpha. However, there
648     will be one in the future. Fernando J. Pereda (<mail
649     link="ferdy@gentoo.org">ferdy</mail>) has been working on getting the project
650     off the ground.
651     </p>
652    
653     </body>
654     </section>
655     </chapter>
656    
657     <chapter>
658     <title>Other Resources</title>
659     <section id="noforum">
660     <title>Why is there no Gentoo on Alpha forum?</title>
661     <body>
662    
663     <p>
664     On the <uri link="http://forums.gentoo.org">Gentoo Forums</uri> there are
665     several arch specific categories like <uri
666     link="http://forums.gentoo.org/viewforum-f-24.html">Gentoo on PPC</uri> and
667     <uri link="http://forums.gentoo.org/viewforum-f-24.html">Gentoo on Sparc</uri>.
668     There is no Gentoo on Alpha category because there simply isn't enough
669     Gentoo/Alpha activity on the forums to warrant one. All Alpha related posts
670     should go in the <uri link="http://forums.gentoo.org/viewforum-f-32.html">
671     Gentoo on Alternative Architectures</uri> category.
672     </p>
673    
674     </body>
675     </section>
676     <section id="othergentoo">
677     <title>Where can I get more help or information about Gentoo/Alpha?</title>
678     <body>
679    
680     <p>
681     If any of your questions weren't answered here, you can try other resources
682     like the <uri link="/doc/en/handbook/handbook-alpha.xml">Alpha Handbook</uri>
683     or <uri link="/proj/en/base/alpha/">our project homepage</uri>. You can also
684     ask us at <c>#gentoo-alpha</c> on <c>irc.freenode.net</c>, <uri
685     link="http://forums.gentoo.org/viewforum-f-32.html">Gentoo on Alternative
686     Architectures Forum</uri>, or on the <mail>gentoo-alpha@lists.gentoo.org</mail>
687     mailing list.
688     </p>
689    
690     </body>
691     </section>
692     <section id="other">
693     <title>Where can I get more help or information about Alpha/Linux?</title>
694     <body>
695    
696     <p>
697     <uri link="http://alphalinux.org/">AlphaLinux.org</uri> is a central repository
698     for all things Alpha/Linux.
699     </p>
700    
701     </body>
702     </section>
703     </chapter>
704     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20