/[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 - (show annotations) (download) (as text)
Thu Jan 12 21:32:14 2006 UTC (8 years, 7 months ago) by neysx
Branch: MAIN
File MIME type: application/xml
#116192 New Gentoo/Alpha FAQ

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