![]() |
|
Linux - Wegweiser zur Installation & Konfiguration, 3. AuflageOnline-VersionBitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.
|
David S. Miller, Red Hat Software
Die SPARC-Portierung von Linux unterstützt einen großen Bereich von Systemen, von den ganz einfachen bis zu den teuersten High-End-Rechnern. Die meisten Leute, die eine Sun-Workstation oder einen Server besitzen und gern Linux ausprobieren möchten, werden feststellen, daß ihr Rechner voll unterstützt wird und ziemlich gut funktioniert. Es gibt hier und da einige kleinere Lücken, aber auch diese werden mit der Zeit geschlossen werden.
Ob Linux unterstützt wird, richtet sich nicht nur nach der Serie, sondern auch nach der Teilserie. Alle Serien außer der Enterprise 10000 und den uralten sun4-Systemen werden derzeit vollständig unterstützt. »Symmetrisches Multiprocessing« (SMP) funktioniert auf allen Serien außer sun4c.
Außer den hier genannten Systemen gibt es auch noch die Clones von diversen Herstellern. Wenn diese wirklich kompatibel zu den äquivalenten Sun-Systemen sind, läuft Linux auch auf ihnen.
Diese Systeme werden sowohl von den 2.0.x- als auch den 2.2.x-Kerneln unterstützt:
Diese Systeme werden von den 2.0.x- und von den 2.2.x-Kerneln unterstützt. Auch Multiprozessorkonfigurationen funktionieren:
Diese Systeme werden nur von den 2.2.x-Kerneln unterstützt. Wie bei der sun4m-Reihe werden auch Multiprozessorkonfigurationen unterstützt.
Alle hier genannten UltraSPARC-basierten Systeme (mit der Ausnahme der Enterprise 10000) funktionieren nur mit den 2.2.x-Kerneln. Multiprozessorkonfigurationen werden voll unterstützt.
Diese Systeme verwenden zwei Klassen von I/O-Architekturen, SBUS und PCI. Die älteren Systeme verwenden SBUS, die neueren PCI:
In der dunklen Frühzeit der SPARC-Portierung von Linux verwendeten wir eine a.out libc4 als C-Bibliothek des Systems. Dafür gab es mehrere Gründe. Zum einen verwendeten wir a.out-Binärprogramme von SunOS, um das erste existierende Linux/SPARC-System zu starten, so daß wir wußten, daß a.out funktionieren würde. Zum anderen war dies zu dem Zeitpunkt die stabilste libc, die es gab. Ich hoffe, daß nicht mehr viele SPARC-Systeme (wenn überhaupt noch eines) diese C-Bibliothek noch verwenden. Alle nativen Linux-Binärprogramme, die die libc4 verwendeten, wurden statisch gelinkt.
Als nächstes kam die ELF-basierte libc5. Die ersten vollständigen Distributionen verwendeten diese als Systembibliotheken. Gemeinsam genutzte ELF-Bibliotheken wurden auf SPARC-Systemen vollständig unterstützt.
Heutzutage verwenden die meisten Linux/SPARC-Systeme glibc/ELF, und das wird wohl auch noch eine Zeitlang so bleiben.
Der größte Teil der Installation auf Linux/SPARC-Systemen ist identisch zu der auf Intel-basierten Linux-Systemen. Die existierenden Unterschiede sind nur eine Folge der unterschiedlichen Hardware, unterschiedlicher Boot-Prozeduren und anderer ähnlicher Unterschiede.
Grafikkarten unterscheiden sich sehr von System zu System; es werden verschiedene X-Server auf Linux/SPARC-Systemen verwendet. Alle SBUS-basierten und mehrere der Onboard-Grafikkarten verwenden die Xsun-Reihe. Diese heißen:
Server
Zweck
XsunMono
Nur für monochrome Grafikkarten
Xsun
Für 8-Bit-Farbtiefe und einfarbige Displays
Xsun24
Nur für Grafikkarten mit 24-Bit-Farbtiefe, darunter auch Creator/Creator 3d
Im Gegensatz zu XFree86 auf Intel-Systemen verwenden diese Server aus diversen Gründen keine Konfigurationsdatei. Zum einen sind die Maus- und Tastaturtypen auf SPARC-Systemen bekannt, und zum anderen kann die Grafikkarte und die Auflösung automatisch ermittelt und konfiguriert werden, so daß es nicht notwendig ist, diese Parameter in einer Konfigurationsdatei anzugeben.
Die PCI-Systeme bringen einige Ausnahmen ins Spiel. Mehrere der Desktop-Systeme (wie Ultra 5 und Ultra 10) haben eine von ATI Mach-64 abgeleitete Grafikkarte onboard. Außerdem gibt es auch ATI Mach64-Erweiterungskarten. Diese Grafikkarten verwenden die XFree86-Server und haben daher auch eine Konfigurationsdatei.
Für diese ATI-Karten schreiben Sie die XF86Config-Datei genauso, wie Sie das auf einem Intel-System auch tun würden. Es gibt aber einige Punkte, die zu beachten sind:
Auch der Boot-Loader unterscheidet sich bei SPARC-Rechnern von demjenigen auf Intel-Systemen. SPARC-Systeme verwenden einen Boot-Loader namens SILO (was für »SPARC Improved LOader« steht).
Aus der Sicht des Anwenders verhält sich SILO genau wie LILO auf Intel-Systemen. Der sichtbarste Unterschied liegt darin, daß man nicht jedesmal, wenn ein neues Kernel-Image zur Konfigurationsdatei (in diesem Fall /etc/silo.conf) hinzugefügt wird, einen besonderen /sbin/silo-Befehl aufrufen muß, wie es bei Intel-Systemen der Fall ist. SILO ist außerdem in der Lage, Kernel-Images auf ext2-, UFS- oder ISO9660-Dateisystemen dem Namen nach zu finden.
Dies funktioniert dank des OBP (Open Boot Prom, der Firmware, die auf SPARC-Systemen verwendet wird). Diese ermöglicht es dem Boot-Loader, Blöcke von Boot-Geräten wie Festplatten einzulesen. Wenn Sie SILO den Dateinamen des Kernel-Images und das Gerät, auf dem es liegt, mitteilen, dann liest es einfach Ihre ext2-Partition und lädt diese. (Aus anderer Sicht betrachtet, ist dies eine kleine Einschränkung. Lesen Sie dazu den Abschnitt über bootbare Geräte und Konsolen.)
Es ist möglich, SILO zum Dual-Booting mit Linux und einem anderen SPARC-Betriebssystem zu verwenden. Einige hilfreiche Hinweise, wie dies bewerkstelligt wird, finden Sie unter http://www.sun.com/software/linux/dual_boot.html .
Wir können jetzt zu den Merkwürdigkeiten der Festplattenpartitionierung auf Linux/SPARC-Systemen kommen. Abgesehen von den folgenden Ausnahmen können Sie dies wie bei Intel-Systemen angehen:
Die meisten SPARC-Benutzer haben sich daran gewöhnt, das Betriebssystem über eine serielle Leitung als Konsole zu installieren. Auch mit Linux/SPARC ist dies möglich.
Alle Installationsmechanismen, die ich derzeit kenne, unterstützen lediglich VT100-Terminals. Wenn Sie das Installationsprogramm Ihrer Lieblingsdistribution booten, wird dieses automatisch bemerken, daß Sie von einer seriellen Konsole gebootet haben, und die notwendigen Maßnahmen für dieses Installationsverfahren ergreifen.
Das Installationsprogramm wird davon ausgehen, daß Sie die serielle Konsole auch für das laufende System verwenden wollen, wenn Sie schon den Rechner damit installieren. Mit anderen Worten: Wenn Sie über eine serielle Konsole installieren und dann einen Monitor und eine Grafikkarte zum ersten Booten einbauen, dann wird das nicht funktionieren.
Das heißt nun nicht, daß Sie nach der Installation nicht von einer Framebuffer-Konsole auf eine serielle Konsole und zurück wechseln können. Es gibt extra für diesen Zweck ein spezielles Shell-Skript namens setconsole. Hier einige Beispiele zur Verwendung:
Auf UltraSPARC-Systemen verwenden die Anwendungsprogramme derzeit noch 32 Bit (auch wenn der Prozessor und der Kernel 64 Bit verwenden). Dies hat aber den Vorteil, daß so ziemlich alle Linux/SPARC-Anwendungen unverändert auf den verschiedenen Linux/SPARC-Systemen laufen. Wenn dieses Buch erscheint, sind möglicherweise auch schon 64-Bit-Anwendungen verfügbar. Die 32-Bit-Bibliotheken werden aber in den Distributionen verbleiben, damit Sie immer noch Ihre alten 32-Bit-Linux/SPARC-Programme ausführen können.
Als ein Nebeneffekt dieser Situation müssen Sie ein wenig aufpassen, wenn Sie Applikationen aus Quellen kompilieren wollen. Weil der Rechner (und der Kernel) 64 Bit verwendet, gibt der Befehl uname den Systemtyp sparc64 statt sparc zurück (was bei allen Nicht-UltraSPARC-Systemen der Fall ist).
Mehrere Skripten, die zum Steuern der Kompilation von Quellpaketen verwendet werden (wie autoconf von GNU), verwenden diesen Ideizierungsstring, um diverse Aspekte der Kompilationsumgebung (wie die Größe der diversen Typen in der Programmiersprache C usw.) zu bestimmen. Die GNU-Werkzeuge werden das Falsche machen, denn sie sehen ein 64-Bit-SPARC-System, wo doch alle Anwendungsprogramme 32 Bit sind.
Um dieses Problem zu umgehen, gibt es auf Linux/SPARC-Systemen ein Werkzeug namens sparc32. Bevor Sie ein Quellpaket konfigurieren und kompilieren, starten Sie eine neue Shell mit dem Befehl sparc32 sh. Damit werden alle uname-Abfragen in dieser Subshell (und damit auch in allen aus dieser gestarteten Programmen) sparc zurückmelden, womit das Problem gelöst ist.
Manche Geräte werden zwar voll unterstützt, haben aber beim Booten einige Einschränkungen. Manchmal hält sich die Firmware eines Geräts nicht an die von der OBP-Firmware auf SPARC-Systemen erwarteten Konventionen. In diesem Fall kann weder Linux noch irgendein anderes Betriebssystem von diesem Gerät gebootet werden. Die eigentliche OBP-Firmware kennt keine konkreten SCSI-Controller oder Grafikkarten, sondern nur die Details Ihrer CPU und die Anordnung Ihrer Speicher-SIMMs.
Also muß jedes Gerät, mit dem OBP kommunizieren soll, eine eigene Firmware haben, die beschreibt, wie das Gerät angesteuert wird. Mit dieser Firmware wird OBP mitgeteilt, wie beispielsweise ein Block von einer Festplatte an einem bestimmten SCSI-Controller gelesen werden kann.
Die Folge daraus ist, daß ein Gerät ohne passende OpenBoot-Firmware nicht zum Booten des Betriebssystems oder als Konsole verwendet werden kann.
Das ist aber keine so große Einschränkung, wie es auf den ersten Blick scheint. Alle SPARC-Systeme haben irgendein Boot-Gerät (mit der passenden Firmware) und eine Konsole onboard.
Auf PCI-UltraSPARC-Systemen unterstützt Linux eine Reihe von PCI-Geräten selbst dann, wenn diese nicht über die passende Firmware verfügen. Sie können also eine billige Ethernet-Karte in einen der PCI-Slots stecken, und Linux wird diese problemlos verwenden. Sie können nur nicht davon booten.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2000, O'Reilly Verlag