Gentoo Linux/Alpha Häufig gestellte Fragen
1.
Über dieses Dokument
Einführung
Dieses Dokument enthält Antworten auf die am häufigsten gestellten Fragen
bezüglich Gentoo/Alpha und Alpha/Linux. Es ist sowohl auf neue, als auch auf
erfahrene Benutzer ausgerichtet.
Über das Gentoo/Alpha Projekt
Die Alpha-Architektur
Hardware
Alpha-spezifische Compilerflags
Alpha Bootvorgang und Bootloader
Software
Alpha Linux Kernel
Das Gentoo/Alpha Projekt unterstützen
Fehlerbehebung
Weitere Ressourcen
2.
Über das Gentoo/Alpha Projekt
Was ist Gentoo/Alpha?
Das Gentoo/Alpha Projekt ist dafür verantwortlich, die Gentoo Distribution
auf dem neuesten Stand für die Alpha-Plattform zu halten. Das bedeutet in
erster Linie, die Pakete mit Keywords zu versehen, Software zu portieren und
neue Releases zu erstellen. Das Gentoo/Alpha Projekt zielt darauf ab, eine
benutzbare Umgebung sowohl für Desktops, als auch für Server bereitzustellen.
Was ist der aktuelle Status des Gentoo/Alpha Projektes?
Sie können den aktuellen Status des Gentoo/Alpha Projektes über die
Statusberichte erfahren. Diese Berichte informieren die Öffentlichkeit über die
aktuelle Entwicklung. Neue Statusberichte werden ungefähr alle 6 Monate
veröffentlicht. Den aktuellen sowie vorhergehende Statusberichte können Sie auf
der Status Reports
Projektseite einsehen.
3.
Die Alpha-Architektur
Ist die Alpha-Architektur nicht schon tot?
Nicht ganz! HP stoppte die Bestellannahme für neue Alpha-Systeme am 27. April
2007. Sie werden allerdings Bestellungen für Optionen und Upgrades bis zum
25. April 2008 entgegennehmen. Weitere Informationen finden Sie auf der HP Homepage.
Kann ich 32-Bit-Anwendungen ausführen?
Nein, alle Alpha-Systeme benutzen einen reinen 64-Bit-Kernel und ein reines
64-Bit-Userland. Sie können nicht einmal den gcc dazu zwingen, mit dem
-m32 Compilerflag 32-Bit-Code zu erzeugen.
Verwendet Alpha Big-Endian oder Little-Endian?
Alle Alpha-Systeme unterstützen sowohl Little-Endian als auch Big-Endian.
Allerdings benutzt Linux ausschließlich Little-Endian.
Kann ich Linux/x86-Anwendungen auf Alpha-Systemen ausführen?
Nein, nicht ohne einen vollständigen x86-System-Emulator wie bochs. In der Vergangenheit pflegte
DEC/Compaq/HP ein Programm mit dem Namen em86, mit dem sich
Linux/x86-Anwendungen auf Linux/Alpha Systemen ausführen ließen. Allerdings
ist das Programm Closed Source und wird nicht mehr gewartet. Es sind keine
em86-Binärpakete verfügbar, die mit gcc3s ABI kompatibel sind.
Warum Gentoo auf Alpha installieren?
Zugegeben, Sie finden schnellere 64-Bit-Systeme, wie zum Beispiel amd64.
Allerdings heißt das nicht, dass Alpha-Systeme unbrauchbar sind. Es gibt einige
gute Gründe, warum Sie Linux auf dieser Art von Hardware installieren wollen:
-
Sie können einen alten Computer in etwas Nützliches verwandeln. Ältere
Alphas machen sich hervorragend als Router und Server. Ihre Desktopleistung
ist auch nicht so übel.
- Sie werden einiges über ungewöhnliche Computerhardware lernen.
-
Es ist cool. Wie viele Leute können von sich behaupten, sie haben Linux auf
einem Alpha laufen?
Wo kann ich Alpha-Hardware kaufen?
Alpha-Hardware finden sie im Allgemeinen nicht bei Ihrem Computerhändler vor
Ort. Wenn Sie einen neuen Alpha kaufen wollen, müssen Sie Kontakt zu HP aufnehmen. Wenn Sie
einen gebrauchten Alpha (die wirtschaftlichere Entscheidung) kaufen wollen, ist
eBay eine gute Möglichkeit, solange die
Versandkosten nicht zu hoch sind. Es gibt auch mehrere Händler von gebrauchter
Hardware, die über Google gefunden werden können, auch wenn sie meistens zu
teuer sind.
4.
Hardware
Ich habe das Gehäuse eines AlphaServers geöffnet und jetzt lässt er sich nicht
mehr anschalten, was kann ich machen?
Vergewissern Sie sich, dass die obere Blende des Gehäuses wieder ordentlich
befestigt ist. In der Mitte der oberen Blende befindet sich auf der Rückseite
ein kleines Metallstück. Wenn die obere Blende ordentlich befestigt ist, drückt
das Metallstück auf einen Schalter. Solange der Schalter nicht gedrückt ist,
lässt sich das System nicht einschalten.
5.
Alpha-spezifische Compilerflags
Ist die Verwendung von Alpha-spezifischen Compilerflags empfohlen?
Wie mit allen Optimierungen, übertreiben Sie es nicht. Wenn Sie diese Flags mit
Vorsicht benutzen, geben sie Ihnen ein stabiles und schnelles System. Benutzen
Sie sie aber zu aggressiv, kann das ihr System schwer schädigen. Wenn Sie
Zweifel haben, lassen Sie sie weg. Wenn sie weitere Erklärungen benötigen,
lesen Sie die gcc Manpage.
Wie optimiere ich das System für einen bestimmten Befehlssatz und ein
Scheduling-Modell?
Sie können das System für einen bestimmten Befehlssatz und ein Scheduling-Modell
mit -mcpu=XXX, wobei XXX Ihr CPU-Typ ist, optimieren. Gültige CPU-Typen
sind ev4, ev45, ev5, ev56, pca56, ev6
und ev67. Wenn Sie das -mcpu=XXX Flag nicht benutzen, dann wird
gcc standardmäßig den CPU-Typ der Maschine benutzen, auf der er
kompiliert wurde. -mcpu= entspricht dem -march= Flag auf der
x86-Architektur.
Notiz:
Benutzer des AlphaServer 800 sollten ev5 setzen. Es gibt bekannte
Probleme mit ev56, besonders mit Xorg, welche zu einem vollständigen
Einfrieren des Systems führen.
|
Wie lege ich das Scheduling-Modell fest, ohne den Befehlssatz zu verändern?
Sie können das Scheduling-Modell, ohne den Befehlssatz zu ändern, mit
-mtune=XXX, wobei XXX Ihren CPU-Typ darstellt, ändern. Gültige Werte für
den CPU-Typ sind ev4, ev45, ev5, ev56, pca56,
ev6 und ev67. -mtune= folgt aus -mcpu=, daher
brauchen Sie es nicht angeben, wenn Sie -mcpu= setzen. -mtune=
entspricht dem -mcpu= Flag auf der x86-Plattform.
Wie aktiviere ich softwaregestützte Gleitkommazahlen?
Sie können softwaregestützte Gleitkommazahlen mit -mieee aktivieren.
Dieses aktiviert die Softwareunterstützung, um korrekt mit denormalisierten
Zahlen und speziellen IEEE-Werten wie Nichtzahlen und plus/minus Unendlich
umzugehen.
Dieses sollten Sie in Ihren globalen CFLAGS eintragen, außer Sie wissen,
was Sie tun.
Wie lege ich die Speicherlatenz meines Systems fest?
Sie können die Speicherlatenz Ihres Systems mit -mmemory-latency=XXX,
wobei XXX die Anzahl der Taktzyklen darstellt, festlegen. Damit setzen Sie die
Latenzzeit, die der Scheduler für Speicherverweise übernimmt. gcc besitzt
einige vordefinierte "typische" Werte, die auch von -mmemory-latency=XXX
akzeptiert werden. Diese Werte sind L1 für Dcache, L2 für Scache,
L3 für Bcache, und main für den Arbeitsspeicher.
Dieses Flag sollte vermutlich nicht in Ihren globalen CFLAGS benutzt
werden, da der Wert, den Sie wählen sollten, sehr stark von dem
Speicherzugriffsmuster der Applikation, die Sie kompilieren, abhängig ist.
Wie lege ich fest, dass statische Daten in den Small-Data-Bereich gelegt
werden?
Sie können mit -msmall-data festlegen, dass statische Daten in den
Small-Data-Bereich gelegt werden. Dies führt dazu, dass gcc einige
Fähigkeiten der Alpha-Architektur ausnutzt, indem er oft genutzte Datenbereiche
in bestimmte Bereiche, die sogenannten Small-Memory-Sections, speichert. Die
Bereiche sind auf 64kb beschränkt, was bedeutet, dass Zugriffe auf darin
gespeicherte Daten nur einen Befehl benötigen.
-fPIC hebt -msmall-data auf, daher sollten Sie stattdessen das
-fpic-Flag verwenden, wenn Sie nicht wollen, dass -msmall-data
aufgehoben wird.
Dieses Flag sollte vermutlich nicht in Ihren globalen CFLAGS benutzt
werden, da einige Objekte mehr als 64kb benötigen, was ansonsten zu gp_overflow
ld-Fehlern führt.
Wie kann ich festlegen, dass der Maschinencode in der Small-Text-Area abgelegt
wird?
Sie können mit -msmall-text festlegen, dass der Maschinencode in der
Small-Text-Area abgelegt wird. Das führt dazu, dass gcc annimmt, dass das
gesamte Programm (oder Bibliothek) in 4MB passt und daher innerhalb eines
Sprungbefehls erreichbar ist. Dieses reduziert die Anzahl der benötigten Befehle
für einen Funktionsaufruf von 4 auf 1.
Dieses Flag sollte vermutlich nicht in Ihren globalen CFLAGS gesetzt
werden, da manche Programme (oder Bibliotheken) größer als 4MB sind und daher
einen ld-Fehler hervorrufen.
Was mache ich, wenn eines der Compilerflags einen Compile-, Linker- oder
Laufzeitfehler hervorruft?
Wie bereits erwähnt, bitte seien Sie vorsichtig mit
der Benutzung der CFLAGS. Wenn Sie Probleme beobachten, versuchen Sie
erst weniger aggressive CFLAGS zu verwenden, bevor Sie
einen Bugreport erstellen.
6.
Alpha Bootvorgang und Bootloader
Was ist SRM?
SRM basiert auf der Alpha Console Subsystem Spezifikation, welche eine
Betriebsumgebung für OpenVMS, Tru64 UNIX und Linux Betriebssysteme bereitstellt.
Mehr Informationen über SRM finden Sie im SRM Howto.
Was ist ARC?
ARC basiert auf der Advanced RISC Computic (ARC) Spezifikation, welche eine
Betriebsumgebung für Windows NT bereitstellt.
Wie kann ich herausfinden, welche Firmware mein Alpha besitzt, ARC oder SRM?
Wenn Sie Ihr System einschalten und einen Bildschirm mit blauem Hintergrund und
weißem Text sehen, benutzt es SRM. Sehen Sie ein grafisches Bootsystem, handelt
es sich um ARC.
Welchen Bootloader sollte ich benutzen?
Wenn Ihr Alpha-System SRM unterstützt, sollten Sie aboot benutzen. Wenn Ihr
System sowohl SRM als auch ARCs (ARC, AlphaBIOS, ARCSBIOS) unterstützt, sollten
Sie dem SRM Firmware
Howto folgen und zu SRM wechseln und aboot verwenden. Wenn Ihr System nur
ARCs (Ruffian, nautilus, x1, usw.) unterstützt, müssen Sie milo wählen.
Kann aboot Kernel von xfs, reiserfs oder jfs Partitionen booten?
Nein, aboot unterstützt ausschließlich ext2 und ext3
Partitionen zum Booten des Kernels. Sie können aber andere Dateisysteme für Ihre
Rootpartition benutzen, solange Sie eine /boot Partition entweder
mit ext2 oder ext3 erstellen.
Unterstützung für reiserfs und xfs ist in Planung. Tatsächlich gibt es bereits
Patches, welche die Unterstützung für diese beiden Dateisysteme bereitstellen,
aber die Benutzung dieser Patches wird nicht unterstützt.
7.
Software
Wie sieht es mit Java-Unterstützung in Gentoo/Alpha aus?
Es gab nur eine Möglichkeit für eine Java VM und ein Java SDK unter
Gentoo/Alpha. Die Pakete hießen compaq-jre und compaq-jdk.
Leider hat Compaq/HP den Support vollständig eingestellt und die Pakete wurden
am 11. Oktober 2006 aus Gentoo entfernt.
Wird es jemals eine funktionierende Java-Unterstützung geben?
Wir hoffen es. Wir verfolgen die Entwicklung des JDK von SableVM. Es ist noch nicht soweit, aber wir
hoffen, dass es mit der Zeit ein vollständiger JDK-Ersatz wird.
Wie steht es um die .NET-Unterstützung in Gentoo/Alpha?
Keines der beiden großen Open-Source Projekte, mono und DotGNU, unterstützt die Alpha-Architektur.
Was wird für .NET-Unterstützung benötigt?
.NET auf den Alpha zu portieren ist keine einfache Aufgabe. Dazu müssen alle
Makrobefehle zur Erstellung von Assemblercode für den JIT (just in time)
Compiler sowie architekturspezifische Funktionen (Registerzuteilung, usw.)
programmiert werden.
8.
Alpha Linux Kernel
Welche Kernelquellen sollte ich benutzen?
Wir empfehlen die Verwendung von gentoo-sources, aber die
vanilla-sources werden ebenso von Gentoo/Alpha unterstützt. Sie sollten
den Gentoo Linux Kernel Guide lesen,
um herauszufinden, welcher Kernel der richtige für Ihre Bedürfnisse ist.
Mein System ist nicht funktionsfähig mit Kernel 2.6, kann ich ein auf 2.4
basierendes System bauen?
Gentoo/Alpha hat im Januar 2008 aufgehört 2.4er Kernel und Profile zu
unterstützen. Technisch können Sie weiterhin einen 2.4 Kernel bauen (der Kernel
befindet sich im Portage-Baum), aber Sie müssen alle ausschließlich vom 2.6
Kernel abhängigen Pakete manuell maskieren und werden keine Unterstützung der
Entwickler bekommen.
Gentoo/Alpha wird alle Bug-Reports bezüglich nicht funktionierender 2.6 Systeme
prüfen und alles versuchen, um Ihnen zu helfen.
Werden hardened-sources unterstützt?
Die kurze Antwort ist nein. Sie wurden vor einiger Zeit unterstützt, aber wir
haben die Hardware und den Maintainer verloren, daher werden sie im Moment
nicht mehr unterstützt. Wenn Sie daran interessiert sind und die ursprüngliche
Arbeit weiterführen wollen, lassen Sie es uns bitte wissen.
Unterstützt der 2.6 Kernel Alpha SMP?
In der Vergangenheit gab es Zeiten, in denen die Unterstützung kaputt war.
Allerdings sind 2.6.15.1 und 2.6.16.19 dafür bekannt, gut zu
funktionieren. Wenn Sie herausfinden, dass SMP kaputt ist und Sie Unterstützung
für SMP benötigen, müssen Sie entweder eine der oben genannten Versionen
benutzen oder auf einen 2.4 Kernel umsteigen. Wenn Sie wirklich den neuesten 2.6
Kernel auf einer SMP-Maschine benötigen und es Ihnen nichts ausmacht, dass nur
einer der Prozessoren benutzt wird, können Sie einen 2.6 Kernel ohne
SMP-Unterstützung konfigurieren.
9.
Das Gentoo/Alpha Projekt unterstützen
Wie melde ich Bugs?
Wenn Sie einen Bug gefunden haben oder uns einen Patch senden wollen, müssen
Sie einen Bug-Report erstellen. Das dauert nicht lange und Ihre Hilfe ist
wirklich gern gesehen. Bitte beachten Sie den Gentoo Bug Reporting Guide.
Wie kann ich dem Gentoo/Alpha Projekt helfen?
Benutzer können uns folgendermaßen helfen:
-
Durch Ausfüllen von verständlichen und präzisen Bug-Reports.
-
Durch das Testen von Software die noch kein ~alpha Keyword haben.
-
Durch das Beantworten von Fragen auf den Mailinglisten, im Forum und dem
IRC-Channel.
- Durch das Einsenden von Patches
-
Indem Sie AT
werden.
Gibt es ein Alpha Arch Testers Projekt?
Ja, mehr Details finden Sie auf der Webseite Gentoo Linux Alpha
Arch Testers Project.
10.
Fehlerbehebung
Warum lässt Xorg meinen Alpha einfrieren?
Das passiert normalerweise aufgrund einer fehlerhaften -mcpu Einstellung.
Beispielsweise muss der AlphaServer 800 mit dem ev5 Flag für Xorg
und glibc kompiliert werden, sonst können unerwünschte Ergebnisse
auftreten.
11.
Weitere Ressourcen
Warum gibt es kein Gentoo on Alpha Forum?
In den Gentoo Foren gibt es mehrere
architekturspezifische Kategorien wie Gentoo on PPC und
Gentoo on Sparc.
Es gibt keine Gentoo on Alpha Kategorie, da es einfach nicht genug Beiträge
bezüglich Gentoo/Alpha in den Foren gibt, um eine zu rechtfertigen. Alle
Alpha-bezogenen Beiträge sollten in der Kategorie Gentoo on Alternative
Architectures erstellt werden.
Wo bekomme ich weitere Hilfe oder Informationen über Gentoo/Alpha?
Falls eine Ihrer Fragen hier nicht beantwortet wurde, können Sie weitere
Ressourcen wie das Alpha
Handbuch oder unsere Projektseite
zu Rate ziehen. Sie können uns auch in #gentoo-alpha auf
irc.freenode.net, im Gentoo on Alternative
Architectures Forum oder auf der
gentoo-alpha@lists.gentoo.org englischsprachigen Mailingliste
Fragen stellen.
Wo kann ich weitere Hilfestellungen oder Informationen zu Alpha/Linux
bekommen?
AlphaLinux.org ist die zentrale Quelle
für alles rund um Alpha/Linux.
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|