Projekt: 
NetBSD 1.6 auf einer Sun SPARCstation 4 installieren



Ich gebe eine möglichst ausführliche Anleitung, wie ein vollkommener Unix-Anfänger NetBSD auf einer SPARCstation installieren kann. Ich habe versucht, die Anleitung Schritt-für-Schritt so darzustellen, dass sie einfach nachzuvollziehen ist. Zum Erstellen der Boot-CD soll nur ein Windows-PC oder ein Linux-PC mit einem CD-R Laufwerk und der entsprechenden Brenner-Software notwendig sein. Wenn die Boot-CD vorhanden ist, wird kein PC und kein Brenner benötigt. 

Alle externen Links liegen ausserhalb meiner Verantwortung. Ich übernehme keine Haftung für irgendwelche Schäden an Hardware oder Software.


Einleitung

Diese Anleitung bezieht sich auf eine Sun SPARCstation 4 mit 85 MHz MicroSPARC II Prozessor, 32 MB Speicher und externem CD-Laufwerk. Jedoch sollten sich die Angaben problemlos auch auf ähnliche Sun SPARCstations mit 32bit SPARC Prozessoren (sun4m-Architektur), wie z. B. SPARCstation 5, 10 und 20 übertragen lassen.

Damit die Anleitung nicht zu kompliziert wird, gehe ich davon aus, dass an der SPARCstation eine Tastatur und eine Maus sowie ein Monitor und ein CD-ROM Laufwerk angeschlossen sind. Die Installierung lässt sich aber auch über eine serielle Konsole steuern und es kann von einem Boot-Server gestartet und die Dateien von einem lokalen File-Server oder per ftp aus dem Internet heruntergeladen werden.


Die Hardware der SPARCstation 4

Die SPARCstation 4 wurde ab 1994 hergestellt und war das Einsteigermodell in die Reihe der Sun Desktop Workstations. Die damals hohen Kosten für Workstations (ab ca. 10.000 DM) zwangen zu einem breit gefächerten Angebot unterschiedlicher Prozessoren, Konfigurationen und Ausbaustufen, mit der SPARCstation 4 als kleinstem, der SPARCstation 5 als nächstgrösserem und der SPARCstation 20 als Spitzenmodell.

Alle SPARCstations dieser Baureihe sind in dem Sun-typischen Pizza-Box-Gehäuse (Aurora) untergebracht. Gleich zu Anfang möchte ich mit zwei Vorurteilen aufräumen: Die Aurora-Gehäuse sind weder klein und leicht noch leise und energiesparend! Ohne Festplatte wiegt das vorliegende Gerät schon fast 5 kg, im Maximalausbau (2 Festplatten, CD-ROM, Floppy, Speicher usw.) wiegt das Gerät über 12 kg. Das Netzteil ist relativ klein (80 x 220 x 70 mm) und hat zwei kleine Lüfter an der inneren Längsseite, die die Luft aus dem Inneren des Gehäuses durch das Netzteil nach aussen befördern. Die Lüfter selbst sind zwar vergleichsweise leise, aber die SCSI-Festplatten mit SCA-Anschluss sind alle relativ laut. Man sollte unbedingt darauf achten, dass die Seiten des Gerätes genügend Abstand zur Wand haben und nicht zugestellt sind (z. B. von Büchern, Schreibzeug), damit kein Hitzestau entsteht.

Der große Vorteil der SPARCstation liegt meines Erachtens neben der hervorragenden Verarbeitung in den zahlreichen serienmäßigen Schnittstellen, die an PCs der damaligen Zeit praktisch nie gleichzeitig realisiert werden konnten:

Externe Anschlüsse (auf der Gehäuserückseite von links nach rechts):

Der 85 MHz MicroSPARC II Prozessor kommt ohne eingenen Lüfter aus und hat eine Rechenleistung vergleichbar mit einem Pentium I 90 MHz. Leider sind die Prozessoren m. W. immer aufgelötet, so dass für mehr Rechenleistung (maximal 170 MHz TurboSPARC Prozessor) die gesamte Haupt-Platine getauscht werden muss.

Die optionale Soundkarte ist unter dem einzigen S-BUS Steckplatz mit einem Spezial-Steckverbinder eingebaut. Die S-BUS Steckkarte sitzt dann huckepack auf der Soundkarte auf.

Für den Speicher existieren 5 DIMM Steckplätze, die mit speziellen Speicherbausteinen mit 8 oder 32 MB Kapazität bestückt werden können. Daraus ergibt sich ein maximaler Arbeitsspeicher von 160 MB.

Als Grafik ist auf dem Board ein TCX Framebuffer mit 1 MB Speicher integriert, der 1152 x 900 Bildpunkte bei 8 Bit Farbtiefe darstellen kann. Wenn das optionale 1 MB Video-SIMM installiert ist können maximal 1280 x 1024 Bildpunkte bei 8 Bit Farbtiefe dargestellt werden. Die maximale Bildwiederholfrequenz beträgt 76 Hz. Gemessen an heutigen Standards ist das nicht gerade topp, die Grafik ist aber gestochen scharf. Der Monitor wird an eine 13W3-Buchse angeschlossen und muss "composite sync" unterstützen (d. h. die Signale für horizontale und vertikale Synchronisation liegen gemeinsam auf einem Pin). Es gibt verschiedene Adapter von 13W3 auf VGA HD 15pol. (Lindy-Adapter) oder man verwendet ein 13W3-BNC-Kabel, wenn der Monitor BNC-Eingänge besitzt. Die meisten neueren Monitore unterstützen "composite sync", siehe im Handbuch zum Monitor. 

Als Festplatten kommen SCSI-Platten mit 80pol. SCA-Anschluss zum Einsatz. Die Platten werden in speziellen Einbaurahmen aus Plastik befestigt, die sich werkzeuglos im Gehäuse einsetzen lassen. Bei der SPARCstation 4 passt der Einbaurahmen für die einzige Festplatte in einen Stahlrahmen, der auf Plastik-Distanzhaltern über der Haupt-Platine zwischen dem VSIMM und den DIMM Steckplätzen fixiert ist. Leider sind bei meinem Exemplar diese Distanzhülsen abgebrochen, so dass die Festplatte nicht fest sitzt. Für die Einbauplätze vorne für CD-ROM und Floppy ist leider der Kabelbaum nicht vorhanden, daher verwende ich ein externes CD-ROM.

Die Tastatur und die Maus werden über ein gemeinsames Kabel angeschlossen, was ich sehr praktisch finde. Der Anschluss ist Sun-Proprietär, es passen die Sun-Tastaturen Typ 4, 5 und 6 sowie die kompatiblen Nachbauten anderer Hersteller. Die Tastatur besitzt einen eigenen Piezo-Pieper. Die Maus gibt es in unterschiedlichen Ausführungen, als optische und als mechanische Variante. Für die optische Maus benötigt man ein spezielles Mauspad aus Metall mit Gittermuster (Rasierspiegel), die meisten dieser Mauspads sind inzwischen aber so verdreckt, verbogen, verkratzt usw., das sie nicht mehr brauchbar sind.

Weitere Informationen gibt es bei SPARCinfo Deutsch .


Das Betriebssystem NetBSD

NetBSD ist sicherlich das portabelste Betriebssystem überhaupt, auf der Homepage werden 52 unterstützte Plattformen genannt. Es stammt von 4.4BSD und 386BSD der University of California, Berkeley ab und wird von einer unabhängigen, internationalen Gruppe weiterentwickelt. Dabei hat die verwendete Lizenz sehr wenige Restriktionen und entspricht weitgehend der sogenannten "Berkeley License".
Ausserdem kann NetBSD als extrem sicheres System gelten. Nach der Installation sind alle unsicheren Dienste deaktiviert (vergleiche da z. B. Windows 2000 Professional!), es gibt einen NetBSD Security Officer , es erfolgen regelmäßige "code audits" und entdeckte Sicherheitslücken werden innerhalb kürzester Zeit beseitigt. Die Unterstützung von IPSEC (IPv4, IPv6), Kerberos und ssh machen NetBSD zu einem optimalen Netzwerk- und Internetworking-Betriebssystem.

Die Nachteile sollen aber nicht verschwiegen werden: Für den Desktop-Einsatz ist NetBSD weniger geeignet, da die notwendige Software vom Anwender erst selbst zusammengesucht werden muss, ausserdem ist eine gewisse Einarbeitungszeit erforderlich.

Die aktuelle Version 1.6 erhält man auf CD-R zum Beispiel bei SunROOT (http://shop.sunroot.de/commerce.cgi ) oder man lädt die passenden ISO-Images von einem Mirror herunter und brennt sie selbst auf CD-R. Ich habe den deutschen Mirror von ZEDAT der Freien Universität Berlin verwendet, die Universität Erlangen-Nürnberg unterhält ebenfalls einen Mirror. Die Datei heisst sparccd.iso , unter Linux geht der Download am einfachsten mit wget:
wget ftp://ftp.fu-berlin.de/unix/NetBSD/iso/1.6/sparccd.iso

Unter Windows brennt man das ISO-File dann z. B. mit WinOnCD oder einer vergleichbaren Software auf CD-R. Man darf sich nicht daran stören, dass unter Windows *.raw-Dateien verwendet werden, während unter Unix die Dateiendung *.iso heisst. Das Dateiformat ist identisch.

Das ISO-File kann man unter Linux testen (benötigt einen Kernel mit lofs bzw. Modul dazu):
mount -t iso9660 -o ro,loop sparccd.iso /tmp/mnt

Unter Linux ermittelt man dann zuerst die Brenner-Einstellungen (SCSI_BUS, ID, LUN):
cdrecord --scanbus

Den Schreibvorgang sollte man zuerst einmal simulieren:
cdrecord -v -dummy speed=8 dev=SCSI_BUS,ID,LUN -data sparccd.iso

Gebrannt wird dann schliesslich mit:
cdrecord -v speed=8 dev=SCSI_BUS,ID,LUN -data sparccd.iso

Also auf zur Installation auf der SPARCstation!


Die Installation

Auf der SPARCstation kann ausser von einer Festplatte auch vom Floppy (bei mir nicht eingebaut), aus dem Netzwerk oder vom CD-ROM (intern, sofern eingebaut, oder extern) gebootet werden. Da eine Floppy-Installation m. E. nicht sehr sinnvoll ist (wer möchte schon 50 Disketten füttern) und mir die Einrichtung eines tftp-Boot-Servers zu aufwändig ist, beschreibe ich nur den letzteren Weg (CD-ROM).

NetBSD selbst kann von Floppy, Band, CD-ROM, von einem lokalen Verzeichnis, einem nicht montierten Dateisystem oder direkt aus dem Netzwerk (per ftp oder nfs) installiert werden. Die Installierung ist ausführlich im deutschen NetBSD Shortguide beschrieben, allerdings für einen PC mit Intel-Architektur und daher in diesem Zusammenhang nicht wirklich brauchbar. Den ganzen Streß mit BIOS-Plattengeometrien, BIOS-Settings, verschiedenen Boot-Loadern usw. gibt es glücklicherweise nicht.

Daten, die vor der Installierung bekannt sein sollten:

IP-Nummer z. B. 192.168.1.16
Hostname z. B. netbsd
Domain z. B. .athome.net
SCSI-Id des CD-ROM Laufwerkes sollte auf 6 stehen, da der OBP Alias cdrom auf die SCSI-ID 6 eingestellt ist. 
SCSI-Id der Festplatte ergibt sich bei SCA-Platten durch den Einbauplatz, erste Platte hat ID 0, also unter NetBSD /dev/sd0. 
Festplattenaufteilung wird von sysinst vorgeschlagen.
Root-Passwort
besser aufschreiben und an sicherem Ort aufbewahren!

Das Open Boot PROM (OBP) der SPARCstation dient zum Test der Hardware, verwaltet die Geräte und lädt den Boot-Lader, der den Unix-Kern laden kann. Daneben kann es auch einen Boot-Lader aus dem Netz (per tftp) herunterladen. Es handelt sich letztlich um ein zum PC-BIOS analoges System, allerdings wesentlich leistungsfähiger und nur über eine Kommandozeile zu bedienen.

Ich hatte bisher noch nie Probleme, bei einer SPARCstation 4 oder 5 von einem SCSI-CD-ROM zu booten. Das Laufwerk muss 512 Byte Blockgrösse unterstützen, allerdings wird m. W. beim Reset des Laufwerkes ein entsprechender SCSI-Befehl gesendet, so dass üblicherweise kein Jumper am Laufwerk umgestellt werden muss. Wenn es trotzdem nicht funktioniert muss das OBP aktualisiert werden oder es muss ein Jumper am CD-ROM Laufwerk auf die richtige Blockgrösse gestellt werden. 

Wenn das CD-ROM angeschlossen ist, die SCSI-ID 6 hat und die OPB Parameter auf Standard-Werten stehen, wird der Rechner eingeschaltet, die Tastenkombination STOP-A (die Taste "Stop" links oben und der Buchstabe "a") für ca. 10 Sekunden gedrückt und dann im OBP eingegeben:
boot cdrom

Jetzt sollten die Boot-Meldungen des NetBSD Loader erscheinen.

Bei Problemem mit dem CD-ROM siehe hier:
http://www.netbsd.org/Ports/sparc/faq.html#non-sun-cdrom

Bei Problemen mit dem OBP bzw. den nvram-Parametern helfen die folgenden OBP-Befehle weiter:
help
probe-scsi-all
test-all
show-devs
show-disks
printenv 
setenv 

Die einzelnen Schritte der Installation von NetBSD folgen hier:

CD-ROM einlegen in Laufwerk
STOP-A drücken beim Neustart des Rechners
an der OBP Konsole eingeben:
boot cdrom
Initializing Memory |
Rebooting with command: cdrom
Boot device: /iommu/sbus/espdma...
...
>> NetBSD/sparc Secondary Boot, Revision 1.12
>> (autobuild@tgm.daemon.org, Mon Sep 9 08:00:16)
es folgt eine lange Liste mit der erkannten Hardware 
...
microroot setup utility
This procedure supports one of the following media:

1) cdrom
2) tape
3) floppy

Installation medium to load the additional utilites from:
also hier mit 1 cdrom auswählen.
The installation utilites are located on the ISO CD9660 filesystem on the
NetBSD/sparc CD-ROM. We need to mount the filesystem ...
...

CD-ROM device to use [/dev/cd0a]:
mit Enter bestätigen, Standardwert sollte stimmen. 
Path to instfs.tgz [/cdrom/sparc/installation/bootfs/instfs.tgz]: 
mit Enter bestätigen, Standardwert sollte stimmen.
...
Terminal type [sun]: 
mit Enter bestätigen, stimmt so.
(I)nstall/Upgrade, (H)alt or (S)hell ?
hier (I)nstall wählen.
...
Welcome to sysinst, the NetBSD-1.6 system installation tool.
...
NetBSD-1.6 Install System

>a: Install NetBSD to hard disk
a wählen.
Shall we continue (b für Yes)

I found only one disk, sd0, Therefore i assume you want to install NetBSD on it.

Hit enter to continue
also nochmal Enter drücken.
Choose your Installation:

>b: Standard with X

Jetzt sollte man b: "Standard with X" wählen, es sei denn, der Rechner soll nur als Router/Server
eingerichtet werden, dann ist X nicht notwendig.
Also entweder a oder b wählen.
ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG

Bei meiner Test-Installation mit der CD aus der Datei sparccd.iso wurde der Kernel nicht
installiert! Deshalb sollte in jedem Fall die Einzelauswahl der Pakete benutzt werden.
Dabei muss der GENERIC Kernel ausgewählt werden, sonst wird m. E. gar kein Kernel
installiert.

ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG - ACHTUNG
Choose filesystems

/
swap
/usr

Nach meiner Erfahrung sollte man root (/), swap und /usr anlegen.
Wenn man einen Fileserver plant, sollte man zusätzlich noch /home mit viel Speicherplatz anlegen.
Für einen Mail/Webserver sollte man zusätzlich /var mit etwa 100 MB anlegen, damit
der Rechner nicht blockiert wird, wenn die Logfiles überlaufen.
Wenn genügend Hauptspeicher vorhanden ist, sollte man auch /tmp als Filesystem anlegen. Dieses
wird dann im Speicher gehalten, was einen schnelleren Zugriff ermöglicht als von der Platte.
We now have your BSD-disklabel partitions as (Size and Offset in cyl):
a: ...
b: ...
c: ...
d: ...

Auf diesem Schirm sollte man beachten, dass die Partition c die gesamte Festplatte meint,
diese muss also immer "unused" bleiben!
Please enter a name for yor NetBSD disk [mydisk]: MEINNAME

Hier kann man seiner Festplatte einen Namen geben. Man kann es aber auch sein lassen :-)
Shall we continue?

>b: Yes

Nun wird die Platte partitioniert, mit einem BSD-Disklabel versehen und
dann wird das Dateisystem mit /sbin/newfs angelegt.
Dieser Vorgang dauert einige Minuten.
The next step is to fetch and unpack the distribution filesets. Press
<return> to proceed.

Also Enter drücken, auf der SUN-Tastatur heisst diese Taste übrigends "Enter",
nicht Return ;-).
Select your distribution:
> a: Full Installation

Wenn der Plattenplatz ausreicht (170 MB), sollte man "Full Installation" wählen.
Wenn ein Webserver oder ein Server, der vor einem Firewall plaziert werden soll,
eingerichtet wird, sollte man die Pakete einzeln wählen und z. B. den Compiler weglassen.

During the extraction process, do you want to see the file names as each file is extracted?

Je nach Laune Yes or No!
Your disk is now ready for installing the kernel and the distribution sets. 
...


Hier bitte wiederum
>c: cdrom
auswählen!
Bei der folgenden Frage sollte der eingestellte Wert (device) korrekt sein
und kann mit "Continue" bestätigt werden.
Status: Running
Command: pax -zrpe -f /mnt2//sparc/binary/sets/*.tgz

Diese Anzeige laeuft jetzt, bis alle Pakete installiert sind. Das kann je nach
Plattengeschwindigkeit 15 Minuten bis 2 Stunden dauern.

All selected distribution sets unpacked successfully.
Hit enter to continue
>a: ok
Making device files ...

The extraktion of the selected sets for NetBSD-1.6 is complete. The system
is now able to boot from the selected harddisk. To complete the
installation, sysinst will give you the opportunity to configure some
essential things first.

Hit enter to continue
>a: ok
Please choose the timezone ...
Europe/Berlin
ganz weit unten, dann x und Enter drücken!
Please choose password cipher to use
>a: DES
The root password of the newly installed system has not yet been initialized,
and is thus empty. Do you want to set a root password for the system now?

>: Yes

Man sollte in jedem Fall ein root-Passwort setzen. Vielleicht sollte man das Passwort
irgendwo notieren. Falls man vergesslich ist :-).

Hit enter to continue

>a: ok
The installation is now complete. ...

Hit enter to continue
>a: ok
Verwirrenderweise gerät man nun wieder in den Start-Bildschirm von sysinst. 
Jetzt sollte man den Rechner neu starten:

Welcome to sysinst

>d: Reboot the computer

Jetzt sollte der Rechner neu hochfahren und kann dann anschliessend fertig eingerichtet und komplett konfiguriert werden. 
Wenn der Rechner nicht bootet, sollte man zuerst überprüfen, ob es an einer falschen Einstellung im OBP liegt (z. B. falsches Boot-Device, falscher Name für den Kernel usw.). Wenn es nicht an einem falschen Wert im NVRAM liegt kann sysinst einfach nocheinmal von der CD-ROM gestartet werden und die fehlenden Teile (z. B. der Kernel) kann nachinstalliert werden. Danach bootet der Rechner dann allerdings nur im Single User Modus. Also von der CD-ROM neu booten, Shell wählen, Festplatte unter /mnt2 einhängen und mit "echo "rc_configured=YES" >> /mnt2/etc/rc.conf zurücksetzen. 


Einrichten von NetBSD

Die Einrichtung des frisch installierten Systems wird ausführlich im Kapitel "Der erste Start" des NetBSD Shortguides erläutert. Daher gebe ich hier nur einige Stichworte für das Setup einiger Dienste und Einstellungen. 

Die Handbuchseiten zu NetBSD (manuals, man) können auch über das WWW eingesehen werden:

NetBSD Manual Pages  

Ausserdem gibt es noch eine Hypertext-Version der Handbuchseiten über einen Server von FreeBSD.org:

FreeBSD Hypertext Man Pages


Was man mit dem Rechner anfangen kann (einige Beispiele):


Die Links in der Übersicht

http://www.ki.nu/software/NetBSD/netboot/INSTALL-netboot-sparc.html
http://www.netbsd.org/de/Ports/sparc/
http://www.netbsd.org/Ports/sparc/faq.html
http://www.netbsd.org/de/
http://www.netbsd.org/
http://www.ebsinc.com/solaris/suncdrom.html
http://www.lindloff.com/netbsd/handbuchintro.html
http://www.lindloff.com/netbsd/handbuchmap.html
http://www.netbsd.org/Documentation/bootcd.html
http://www.sparcinfo.de/seiten/ss4_de.html
http://www.sparcinfo.de/
http://www.netbsd.org/Goals/redistribution.html
http://www.netbsd.org/Security/
http://netbsd.sunroot.de/
http://www.netbsd.org/Ports/sparc/faq.html#non-sun-cdrom
http://netbsd.gw.com/cgi-bin/man-cgi/man?+ANY+NetBSD-1.6A
http://www.freebsd.org/cgi/man.cgi?manpath=NetBSD
http://www.netbsd.org/Documentation/network/netboot/


Andreas Lange,
Forumsname bei www.sonnenblen.de: andreas,
email: A punkt C punkt Lange at GMX punkt net,
4. November 2002

$Id: NetBSD-SPARC.html,v 1.1 2002/11/05 21:12:16 andreas Exp andreas $