Alpha/FAQ
Diese FAQ ist dazu gedacht, einige der am häufigsten gestellten Fragen zu Alpha auf Gentoo und Alpha auf Linux im Allgemeinen zu beantworten.
Siehe auch die FAQ, oder die Portage FAQ für häufig gestellte Fragen über den Paketmanager. Es gibt auch einen FAQ Teil im Handbuch. Für häufig gestellte Fragen bezüglich des Dokumentations-Wikis und der Bearbeitung des Wiki, siehe Wiki FAQ. Es gibt auch andere architekturspezifische FAQs, wie zum Beispiel: AMD64/FAQ, PPC/FAQ, und MIPS/FAQ.
Einleitung
Dieses Dokument enthält Antworten auf die am häufigsten gestellten Fragen zu Gentoo/Alpha und Alpha/Linux. Es richtet sich sowohl an neue Benutzer als auch an erfahrene Benutzer.
Über das Alpha-Projekt
Was ist Alpha?
Das Alpha-Projekt ist dafür verantwortlich, die Gentoo-Distribution für die Alpha-Plattform zu aktualisieren und auf dem neuesten Stand zu halten. Dies beinhaltet vor allem das keywording von Paketen, die Portierung von Software und die Erstellung neuer Versionen. Das Alpha-Projekt zielt darauf ab, eine benutzbare Umgebung sowohl für Desktops als auch für Server bereitzustellen.
Die Alpha-Architektur
Ist die Alpha-Architektur nicht tot?
Ja. HP hat die Annahme von Bestellungen für neue Alpha-Systeme am 27. April 2007 eingestellt.
Kann ich 32-Bit-Anwendungen ausführen?
So etwas wie einen 32-Bit-Alpha gibt es nicht, die Architektur war von Anfang an auf 64-Bit ausgelegt. Sie können nicht einmal gcc zwingen, 32-Bit-Code mit dem -m32
Compiler-Flag auszugeben.
Ist Alpha Big Endian oder Little Endian?
Alpha-Systeme sind Little-Endian-Systeme. Ein großes Cray-System mit Alphas war Big Endian, aber Linux wird es nie unterstützen.
Kann ich Linux/x86-Anwendungen auf Alpha ausführen?
Nein, nicht ohne einen x86-Emulator wie QEMU. In der Vergangenheit unterhielten DEC/Compaq/HP ein Programm namens em86
, mit dem Linux/x86-Anwendungen auf Linux/Alpha-Systemen ausgeführt werden konnten.
Warum Gentoo auf Alpha installieren?
Zugegeben, es gibt schnellere 64-Bit-Systeme, wie amd64. Das bedeutet jedoch nicht, dass Alpha-Systeme nutzlos sind. Im Folgenden finden Sie einige gute Gründe, warum Sie Linux auf dieser Art von Hardware installieren sollten:
- Sie können einen alten Computer in etwas Nützliches verwandeln. Ältere Alphas eignen sich hervorragend als Router und Server. Ihre Desktop-Leistung ist auch nicht so schlecht.
- Sie lernen etwas über ungewöhnliche Computerhardware.
- Es ist cool. Wie viele Leute können sagen, dass sie Linux auf einem Alpha laufen haben.
Wo kann ich Alpha-Hardware kaufen?
Alpha-Hardware ist im Allgemeinen nicht in ihrem örtlichen Computerladen erhältlich. eBay ist in der Regel eine gute Option, vorausgesetzt, der Versand ist nicht zu teuer. Es gibt mehrere Händler fü gebrauchte Geräte, die über Google gefunden werden können, allerdings verlangen die meisten von ihnen zu viel.
Hardware
Ich habe das Gehäuse eines AlphaServers geöffnet und jetzt lässt er sich nicht mehr einschalten, was kann ich tun?
AlphaServer verfügen über Verriegelungsschalter, die verhindern, dass das System läuft, während das Gehäuse geöffnet ist. Wenn das Gehäuse geöffnet ist, werden auch die Schalter geöffnet und die Stromzufuhr zum System wird unterbrochen. Einige AlphaServer, wie z.B. der ES40, verfügen über mehrere Zugangspaneele im Gehäuse; bei diesen Systemen kann das Öffnen nur bestimmter Paneele dazu führen, dass sich der Computer ausschaltet, während andere nur zu einer Beschwerde am Bedienfeld führen können. Bei einigen AlphaServern kann ein Jumper auf der Hauptplatine gesetzt werden, der bewirkt, dass sie eingeschaltet bleiben, auch wenn das Gehäuse geöffnet ist. Einige AlphaServer wie z.B. der 2100, sind sehr empfindlich, und ihre Verriegelungsschalter können auch bei geschlossenen Gehäuse offen sein - versuchen Sie, die Schrauben der Verkleidung anzuziehen oder die Verkleidung des Gehäuses ein wenig zu bewegen.
Sollte es wirklich notwendig sein, ein System bei geöffneten Gehäuse einzuschalten, versuchen Sie, den/die Verriegelungsschalter zu finden und mit einem nicht leitenden Spudger einzudrücken, um ihn zu schließen. Verriegelungsschalter lassen sich aufspüren, indem Sie die Kanten der Gehäuseplatten auf Vorsprünge mit einem entsprechenden Schlitz im Gehäuse selbst untersuchen oder das Handbuch des Computers sorgfältig lesen.
Alpha-spezifische Compiler-Optionen
Wird die Verwendung von Alpha-spezifischen Compiler-Optionen empfohlen?
Wie bei allen Compiler-Optimierungen sollten Sie es nicht übertreiben. Verwenden Sie diese Optionen mit Bedacht, und Sie werden ein stabiles, schnelles System erhalten; verwenden Sie sie zu aggressiv, und Sie könnten ihr System ernsthaft beschädigen. Im Zweifelsfall lassen Sie sie einfach aus. Wenn Sie weitere Informationen benötigen, lesen Sie die gcc Manpage.
Wie kann ich für einen bestimmten Befehlssatz und ein bestimmtes Scheduling-Modell optimieren?
Sie können für einen bestimmten Befehlssatz und ein bestimmtes Scheduling-Modell mit -mcpu=XXX
optimieren, wobei XXX Ihr CPU-Typ ist. Gültige CPU-Typen sind ev4
, ev45
, 5
, 56
, pca56
, 6
und 67
. Wenn Sie das Flag -mcpu=XXX
nicht verwenden, wird gcc
standardmäßig den CPU-Typ des Rechners verwenden, auf dem er kompiliert wurde. -mcpu=
ist äquivalent zum Flag -march=
auf x86.
Benutzer des AlphaServer 800 sollten
ev5
einstellen. Es gibt bekannte Probleme mit der Einstellung von ev56
, insbesondere mit Xorg, was zu einer vollständigen Systemsperre führt.Wie spezifiziere ich das Scheduling-Modell, ohne den Befehlssatz zu ändern?
Sie können das Scheduling-Modell ohne Änderung des Befehlssatzes mit -mtune=XXX
angeben, wobei XXX Ihr CPU-Typ ist. Gültige CPU-Typen sind ev4
, ev45
, 5
, 56
, pca56
, ev6
und 67
. -mtune=
wird von -mcpu=
impliziert, so dass Sie dies nicht angeben müssen, wenn Sie -mcpu=
setzen. -mtune
ist äquivalent zum -mcpu=
-Flag auf x86.
Wie aktiviere ich softwareunterstützte Gleitkommazahlen?
Sie können softwareunterstützte Gleitkommazahlen mit mieee
aktivieren. Dadurch wird die Softwareunterstützung aktiviert, um denormalisierte Zahlen und außergewöhnliche IEEE-Werte wie Not-A-Number und Plus/Minus Unendlichkeit korrekt zu unterstützen.
Dies sollte in Ihren CFLAGS stehen, es sei denn, Sie wissen wirklich, was Sie tun.
Wie kann ich die Speicherlatenz meines Systems angeben?
Sie können die Speicherlatenz Ihres Systems mit -mmemory-latency=XXX
angeben, wobei XXX die Anzahl der Taktzyklen ist. Damit wird die Latenzzeit festgelegt, die der Scheduler führ Speicherreferenzen annehmen soll. gcc
hatt einige vordefinierte "typische" Werte, die auch von -mmemory-latency=XXX
aktzeptiert werden. Diese Werte sind L1
für Dcache, L2
für Scache, L3
für Bcache, und main
für Hauptspeicher.
Dieses Flag sollte wahrscheinlich nicht in Ihren globalen CFLAGS verwendet werden, da der von Ihnen gewählte Wert stark vom Speicherzugriffsmuster der Anwendung abhängt, die Sie kompilieren.
Wie gebe ich an, dass statische Daten im kleinen Datenbereich platziert werden sollen?
Mit -msmall-data
können Sie festlegen, dass statische Daten im kleinen Datenbereich abgelegt werden sollen. Dies veranlasst gcc
, einige Eigenschaften der Alpha-Architektur auszunutzen, indem er stark beanspruchte Daten in bestimmten Abschnitten, den sogenannten kleinen Speicherabschnitten, speichert. Die Abschnitte sind auf 64KiB begrenzt, was bedeutet, dass der Zugriff auf alles, was in ihnen gespeichert ist, nur eine Anweisung erfordert.
Die Option -fPIC
überschreibt die Option -msmall-data
, so dass Sie stattdessen die Option -fpic
verwenden sollten, wenn Sie nicht wollen, dass die Option -msmall-data
überschrieben wird.
Diese Option sollte wahrscheinlich nicht in Ihren globalen CFLAGS verwendet werden, da einige Objekte mehr als 64KiB benötigen, um gespeichert zu werden, und dies einen gp_overflow ld-Fehler verursachen wird.
Wie gebe ich an, dass Objektcode in den kleinen Textbereich eingefügt werden soll?
Mit -msmall-text
können Sie angeben, dass Objektcode in den kleinen Textbereich platziert werden soll. Dies veranlasst gcc
, davon auszugehen, dass das gesamte Programm (oder die Bibliothek) in 4MB passt und somit mit einer Verzweigungsanweisung erreichbar ist. Dadurch wird die Anzahl der für einen Funktionsablauf erforderlichen Anweisungen von 4 auf 1 reduziert.
Diese Option sollte wahrscheinlich nicht in Ihren globalen CFLAGS verwendet werden, da einige Programme (oder Bibliotheken) größer als 4MB sind und dies einen ld-Fehler verursacht.
Was ist zu tun, wenn eines dieser Compiler-Optionen einen Kompilier-, Linker- oder Laufzeitfehler verursacht?
Wie CFLAGS, verwenden Sie diese CFLAGS bitte mit Bedacht. Sie können Ihr System zerstören. Wenn Sie Probleme haben, versuchen Sie, weniger aggressive CFLAGS vor Bugs zu verwenden.
Alpha-Boot und Bootloader
Was ist SRM?
SRM basiert auf der Spezifikation des Alpha Console Subsystems, das eine Betriebsumgebung für die Betriebssysteme OpenVMS, Tru64 UNIX und Linux bereitstellt. Weitere Informationen über SRM findem Sie im SRM Howto.
Was ist ARC?
ARC basiert auf der Advanced RISC Computing (ARC) Spezifikation, die eine Betriebsumgebung für Windows NT bietet.
Woran erkenne ich, welche Firmware mein Alpha hat, ARC oder SRM?
Wenn Sie Ihr System einschalten, sehen Sie einen Bildschirm mit blauem Hintergrund und weißem Text, wenn es SRM verwendet. Wenn es ARC verwendet, sehen Sie ein grafisches Boot-System.
Welchen Bootloader soll ich verwenden?
Wenn Ihr Alpha-System SRM unterstützt, dann sollten Sie aboot verwenden. Wenn Ihr System sowohl SRM als auch ARCs (ARC, AlphaBIOS, ARCSBIOS) unterstützt, sollten Sie das SRM Firmware Howto für den Wechsel zu SRM befolgen und aboot verwenden. Wenn Ihr System nur ARCs (Ruffian, xl, usw.) verwenden kann, müssen Sie milo wählen.
Kann aboot Kernel von EXT4-, XFS-, ReiserFS- oder JFS-Partitionen booten?
Nein, aboot
unterstützt nur das Booten von Kernel von ext2
- und ext3
-Partitionen. Sie können trotzdem andere Dateisysteme führ Ihre Root-Partition verwenden. Sie müssen nur eine /boot-Partition mit ext2
oder ext3
darauf erstellen.
Unterstützung für ext4 ist geplant. In der Tat gibt es Patches, die Unterstützung für ReiserFS, XFS und ext4 hinzufügen.
Software
Wie steht es um die Java-Unterstützung auf Alpha?
Compaq/HP boten Binärpakete mit den Namen compaq-jre
und compaq-jdk
an. Sie stellten jegliche Unterstützung ein und die Pakete wurden am 11. Oktober 2006 aus Gentoo entfernt. Seitdem haben wir Java nicht mehr unterstützt.
Wird es jemals funktionierende Java-Unterstützung geben?
Es ist möglich, icedtea
auf Alpha zu verwenden, aber wir haben nicht vor, es zu unterstützen, da die Wartungskosten für das Testen hunderter zusätzlicher Pakete zu hoch sind.
Wie sieht es mit der .NET-Unterstützung auf Alpha aus?
Keine der beiden wichtigsten Open-Source-Bemühungen, mono oder DotGNU, unterstützen die Alpha-Architektur.
Was wird für die .NET-Unterstützung benötigt?
Die Umsetzung von .NET auf Alpha ist keine einfache Aufgabe. Es erfordert die Programmierung aller Makros zur Erzeugung von Assembler-Code für den JIT-Compiler (just in time) und die Programmierung architekturspezifischer Funktionen (Registerzuweisungen usw.).
Alpha Linux Kernel
Welche Kernel-Quellen sollte ich verwenden?
Wir empfehlen die Verwendung von gentoo-sources
, aber auch vanilla-sources
wird von Alpha unterstützt. Sie sollten den Gentoo Kernel Guide lesen, um herauszufinden, welcher der richtige für Ihre Bedürfnisse ist.
Mein System ist mit Kernel-2.6 kaputt, kann ich ein 2.4 basiertes System bauen?
Alpha hat die Unterstützung für den 2.4er Kernel und das Profil im Januar 2008 eingestellt. Technisch gesehen können Sie ein 2.4er Gentoo System bauen (der Kernel ist im Baum), aber Sie müssen alle 2.6er Pakete selbst maskieren und Sie werden keine Unterstützung von den Entwicklern bekommen.
Alpha wird alle Fehlerberichte über nicht funktionierende 2.6-Systeme prüfen und versuchen zu helfen, soweit es uns möglich ist.
Werden gehärtete Quellen unterstützt?
Die kurze Antwort lautet nein. Sie wurden vor einiger Zeit unterstützt, aber wir haben die Hardware und den Betreuer verloren, so dass sie jetzt nicht mehr unterstützt werden. Wenn Sie Interesse haben und die ursprüngliche Arbeit fortsetzen wollen, lassen Sie es uns bitte wissen.
Unterstützt der 2.6er Kernel Alpha SMP?
In der Vergangenheit gab es einige Fälle, in denen dies nicht funktionierte. Moderne Kernel-Versionen sind jedoch dafür bekannt, dass sie gut funktionieren.
Hilfe für das Alpha-Projekt
Wie melde ich Bugs?
Wenn Sie einen Fehler finden oder uns Patches schicken wollen, müssen Sie einen Bug Report einreichen. Es kostet Sie nur ein wenig Zeit, und Ihre Hilfe wird sehr geschätzt. Bitte folgen Sie dem Gentoo Bug Reporting Guide.
Wie kann ich das Projekt Alpha unterstützen?
Die Nutzer können uns helfen, indem sie:
- Einreichung klarer und präziser Bugs
- Testen von Software, die noch nicht das ~alpha Schlüsselwort hat.
- Beantworten von Fragen auf den Mailinglisten,
Forum und im IRC-Kanal.
- Versenden von Patches
- Werden Sie ein AT
Gibt es ein Alpha-Arch-Tester-Projekt?
Ja, siehe die Alpha Arch Testers Project-Seite für Details.
Fehlersuche
Warum sperrt Xorg meinen Alpha?
Dies wird normalerweise durch eine falsche -mcpu
-Einstellung verursacht. Zum Beispiel muss der AlphaServer 800mit den ev5
-Flag für Xorg und glibc kompiliert werden. Wenn dies nicht der Fall ist, führt dies zu unerwünschten Ergebnissen.
Andere Ressourcen
Warum gibt es kein Gentoo auf Alpha Forum?
In den Gentoo Foren gibt es mehrere architekturspezifische Kategorien wie Gentoo auf PPC und Gentoo auf Sparc. Es gibt keine Gentoo auf Alpha-Kategorie, weil es einfach nicht genug Alpha-Aktivität in den Foren gibt, um eine zu rechtfertigen. Alle Alpha-bezogenen Beiträge gehören in die Kategorie Gentoo auf alternativen Architekturen.
Wo kann ich weitere Hilfe oder Informationen über Alpha erhalten?
Wenn eine Ihrer Fragen hier nicht beantwortet wurde, können Sie andere Ressourcen wie das Alpha-Handbuch oder unsere Projekt-Homepage nutzen. Sie können uns auch im #gentoo-alpha (webchat), Gentoo on Alternative Architectures Forum, oder auf der gentoo-alpha@lists.gentoo.org Mailingliste fragen.
Wo bekomme ich weitere Hilfe oder Informationen über Alpha unter Linux?
AlphaLinux.org ist ein zentrales Repositorium für alles, was Alpha/Linux betrifft.
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.