Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte 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.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Anhang F
Linux auf Sun SPARC-Rechnern installieren

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.

Unterstützte Hardware

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.

Sun4c-Systeme

Diese Systeme werden sowohl von den 2.0.x- als auch den 2.2.x-Kerneln unterstützt:

SPARCStation SLC
SPARCStation ELC
Bei diesen beiden sun4c-Systemen befindet sich die Hauptplatine direkt hinter der Bildröhre im gleichen Gehäuse. Ich nenne diese Geräte deswegen gern scherzhaft »SPARCintosh«-Systeme. Die SLC-Systeme waren die erste Sun-Hardware, auf denen Linux erfolgreich lief.
SPARCStation IPX
SPARCStation IPC
Diese Rechner befinden sich in einem kleinen, schuhkartonartigen Gehäuse und verwenden einen externen Monitor.
SPARCStation 1
SPARCStation 1+
SPARCStation 2
Dies waren die ersten »Pizzaschachtel«-artigen Sun-Workstations. Mit ihnen wurden auch die SBUS-Slots zur Verwendung von Erweiterungskarten eingeführt.

Sun4m-Systeme

Diese Systeme werden von den 2.0.x- und von den 2.2.x-Kerneln unterstützt. Auch Multiprozessorkonfigurationen funktionieren:

SPARCServer 6xxMP
Diese Systeme haben eine Hauptplatine mit zwei Slots für sun4m-CPU-Module und ebenfalls SBUS-Slots. Es gibt einen VME-Bus, aber Linux bietet derzeit noch keine Unterstützung für VME-Geräte.
SPARCStation LX
SPARCClassic
SPARCClassic X
Diese Geräte ähneln sehr den IPC/IPX-sun4c-Systemen, haben aber intern eine sun4m-Architektur. Die CPUs befinden sich auf der Hauptplatine, und auch die Grafikkarten sind auf diese Art integriert.
SPARCStation 4
SPARCStation 5
SPARCStation 10
SPARCStation 20
Die sun4m-Pizzaschachtel-Workstations. Bei den ersten beiden sitzt die CPU auf der Hauptplatine, auf den letzteren beiden Systemen gibt es zwei sun4m-CPU-Modul-Slots. SBUS-Erweiterungs-Slots sind auf allen vier vorhanden. Die SS5 verfügt noch über einen besonderen Erweiterungs-Slot für Grafikkarten wie etwa die 24-Bit-TCX-Karten.

Sun4d-Systeme

Diese Systeme werden nur von den 2.2.x-Kerneln unterstützt. Wie bei der sun4m-Reihe werden auch Multiprozessorkonfigurationen unterstützt.

SPARCServer 1000
SPARCCenter 2000
Der einzige Unterschied zwischen diesen beiden liegt darin, daß SPARCCenter 2000 mehr Erweiterungs-Slots hat.

UltraSPARC 64-Bit-Systeme

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:

Ultra 1
Ultra 2
Enterprise 2
Dies sind Desktop-SBUS-Systeme. Die ersten beiden können nur einen Prozessor haben, die Enterprise 2 dagegen bis zu zwei. Alle haben SBUS-Erweiterungs-Slots. Ultra 2 und Enterprise 2 haben einen UPA-Slot für hochwertige Creator/Creator3d-Grafikkarten.
Enterprise 3000, 3500, 4000, 4500, 6000, 6500 und 10000
Dies sind SBUS-Server. Die Enterprise-x000-Familie verfügt über einen paketvermittelten Hochgeschwindigkeitsbus, in den I/O- oder CPU-Speicherkarten eingesteckt werden können. Die I/O-Karten enthalten jeweils drei SBUS-Slots und einige Standardgeräte (Ethernet, SCSI und Fibrechannel). CPU-Karten enthalten zwei CPUs sowie SIMM-Slots für Speichermodule.
Die Enterprise 10000 ist etwas anders als die anderen, da hier jede Systemkarte bis zu vier Prozessoren, SBUS-I/O-Systeme und Speicher-SIMMs enthalten kann. Obwohl der Linux-Kernel Code für dieses System enthält, ist dieser völlig ungetestet, so daß wir nicht behaupten können, daß diese Hardware unterstützt wird. Systeme, die schon in der Grundausstattung zwei Millionen Mark kosten, sind schwer zum Testen zu bekommen.
Ultra 30
Ultra 60
Dies sind von Sun hergestellte UltraSPARC-Workstations. Beide werden in einem Tower-Gehäuse geliefert, haben etwa vier PCI-Erweiterungs-Slots und Standardgeräte wie Ethernet und SCSI. Außerdem haben beide einen UPA-Slot für Creator-Grafikkarten. Ultra 30 ist ein Einprozessor-Rechner, Ultra 60 kann bis zu zwei Prozessoren haben.
Als Sun diese Workstations entwickelte, produzierten sie auch eine Referenz-PCI-UltraSPARC-Hauptplatine, die OEMs kaufen und in eigenen Gehäusen und mit eigenen Festplatten, Netzteilen usw. weitervertreiben konnten. Diese Hauptplatine hatte einen IDE-Controller anstelle von SCSI.
Enterprise 250
Enterprise 450
Dies sind die PCI-Server von Sun. Sie haben mehr PCI-Slots als die UltraSPARC-Workstations und verfügen außerdem über mehrere Umgebungsmeßfühler und die Fähigkeit, ferndiagnostiziert zu werden. Enterprise 450 kann außerdem bis zu vier Prozessoren unterstützen. Beide Systeme verwenden Onboard-SCSI-Controller von NCR.
Ultra 5
Ultra 10
Dies sind die PCI-UltraSPARCs für den Desktop. Ultra 5 hat ein mehr Pizzaschachtel-artiges Gehäuse, während Ultra 10 in einem Tower-Gehäuse kommt. Ultra 5 verfügt über einen PCI-Erweiterungs-Slot, Ultra 10 über vier und außerdem einen UPA-Slot für Creator-Grafikkarten. Bei beiden Rechnern ist ein IDE-Controller vorhanden.
Ultra AXi
Ultra AXmp
Sun hat OEMs noch zwei weitere PCI-Referenzhauptplatinen bereitgestellt. Die erste ist für Workstations, die zweite für Einschub-SMP-Systeme gedacht. Bei AXi ist ein IDE-Controller vorhanden, bei AXmp ein SCSI-Controller. AXmp verfügt über diverse Meßfühler, Lüfter und die Möglichkeit zur Ferndiagnose und unterstützt bis zu vier Prozessoren.

Systembibliotheken

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.

Unterschiede bei der Installation gegenüber Intel-Systemen

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.

Grafiken und X

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:

Der Boot-Loader SILO

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 .

Festplatten partitionieren

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:

Installation von einer seriellen Konsole

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:

setconsole ttya
Die erste serielle Verbindung wird als Konsole benutzt.
setconsole ttyb
Die zweite serielle Verbindung wird als Konsole benutzt.
setconsole video
Die Grafikkarte wird als Konsole benutzt.

SPARC-spezifische Probleme nach der Installation

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.

Bootbare Geräte und Konsolen

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.



vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag