Sun SPARC Open Boot PROM und Solaris 2.x


Einige Kochrezepte zu Sun-Workstations der SPARCstation Serie (10, 20, 4, 5, etc., SBus).
Andreas Lange, A.C.Lange@gmx.net
Ohne jegliche Gewährleistung und Garantie!

Komplettes Betriebssystem ohne Neuinstallierung auf eine neue Platte transferieren

Wenn die alte Platte nicht mehr ausreicht und keine zusätzliche Platte eingebaut werden kann oder soll, muss keine Neuinstallierung durchgeführt werden. Solaris ist nicht Windows, wo man monatlich wegen zerschossener Registry oder kaputter Treiber das ganze System neu installieren muss.

Das Verfahren in der Kurzübersicht:

  • Neue Platte zusätzlich einbauen (ggfs. auch in externem Gehäuse), Device ermitteln und aufschreiben.
  • Neue Platte mit format, labelit, mkfs wie gewünscht einrichten und Dateisystem erstellen
  • mit installboot das ufsboot Bootprogramm und den Kernel auf die neue Platte schreiben
  • neue Platte unter temporärem Mountpunkt einhängen
  • mit tar/cpio/ufsdump/volcopy die Partitionen von der alten auf die neue Platte übertragen
  • /mnt/etc/vfstab an die neue Platte anpassen
  • Rechner herunterfahren und alte Platte ausbauen, neue Platte ggf. umbauen
  • Rechner hochfahren, im NVRAM ggfs. neues Boot-Device setzen
  • Rechner booten und hoffentlich entspannt zurücklehnen, wenn alles sauber hochfährt.
Im Gegensatz zur Intel-Hardware ist bei den 80-poligen SCA-Adaptern der SPARCstations die Device-Id durch den Einbauplatz vorgegeben. Dies sollte man beim Ändern der /mnt/etc/vfstab beachten!

Maschine ohne Root-Passwort wiederherstellen

Wenn man z. B. eine gebrauchte SPARCstation erhält, aber das root-Passwort verschütt gegangen ist, liegt eine komplette Neuinstallierung nahe. Es geht aber auch viel einfacher.
Ich höre die Sicherheitsfanatiker jetzt schon schimpfen, dass solche Hacker-Rezepte nicht veröffentlicht werden dürfen. Allerdings gehört zur Systemsicherheit in erster Linie der physische Schutz der Rechner, wer die tatsächliche Gewalt über ein System hat (wer also unbeschränkten Zugang zu dem Gerät hat), kann eben mit dem Gerät machen, was er will.

Zuerst muss geprüft werden, ob ein Open Boot PROM Passwort vergeben wurde. Dazu drückt man beim Hochfahren der Workstation <Stop> - <A> (oder <L1> - <A>, je nach Tastaturbeschriftung). Jetzt erscheint ein Kommando-Prompt (Eingabeaufforderung). Wenn der Prompt "ok" lautet, ist alles geritzt. Lautet der Prompt dagegen "Type b (boot), c (continue), or n (new command mode) >", ist man in Schwierigkeiten, da das PROM Passwort nur durch Austausch des NVRAM-Bausteins zurückgesetzt werden kann. Aber vielleicht kann sich der Vorbesitzer ja noch erinnern.

Als nächstes muss die Partitionierung der angeschlossenen Festplatten mit prtconf ermittelt werden. Den Device-Namen der Boot-Platte und der Root-Partition sollte man sich notieren. Mit "printenv boot-device", "printenv boot-command", und "nvalias" bekommt man heraus, von wo aus gebootet wird.

Nun wird von einem angeschlossenen CD-ROM Laufwerk (oder einer bootfähigen, neu angeschlossenen Festplatte mit einem System, dessen root-Passwort bekannt ist) gebootet, z. B. mit "boot cdrom -s". Von der jetzt laufenden Rootshell aus montiert man das Root-Laufwerk der Workstation unter einem temporären Verzeichnis und wechselt in /etc. Hier löscht man aus der shadow-Datei das Passwort für Root (Editor vi!). Ausserdem sollte man auch den Passwort-Eintrag in passwd für root löschen.

Jetzt wird mit shutdown -y -g 0 -i 6 das System neu hochgefahren. Das Root-Passwort ist jetzt leer (Return), was nach dem ersten einloggen unter root mit passwd sofort geändert werden muss.

Ich habe ganz bewusst nicht jede Einzelheit und jeden einzelnen Befehl beschrieben. Wer UNIX-Grundkenntnisse besitzt, sollte mit der Beschreibung zurecht kommen. Sollte jemand dieses Kochrezept nicht nachvollziehen können, ist derjenige auch nicht für eine root-shell fit ;-).

Bildschirmauflösung und Bildwiederholfrequenz auf der SPARCstation verändern

Die ganzen Einzelheiten über die Sun Framebuffer entnimmt man bitte dem Sun Framebuffer FAQ. In meinem Fall war nur die Bildwiederholfrequenz von 66 Hz (flimmerflimmerflimmer) auf augenschonende 76 Hz umzustellen. Dazu wird aus dem oben genannten Dokument die Auflösung und Frenquenz herausgesucht (1152x900 bei 76 Hz). Dann kann entweder mit dem Befehl eeprom von der root Konsole aus oder mit setenv vom Open Boot PROM umgestellt werden. Beim TCX Framebuffer (in der Sparc Station 4 und der Sparc Station 20) wird nicht die Bildwiederholfrequenz, sondern die Pixelfrequenz angegeben. Anstelle von 76 Hz wird also 108 angegeben.

Mit eeprom:

# eeprom output-device=screen:r1152x900x76

Von der Open Boot PROM Konsole:

ok setenv output-device screen:r1152x900x76
ok reset

Danach muss das System neu gebootet werden, dann sollte die Bildwiederholfrequenz stimmen. Wenn der Bildschirm schwarz bleibt, ist irgendwas schiefgegangen. Im äussersten Notfall alles mit <Stop>-<N> auf Standard-Werte zurücksetzen.

System ohne Monitor und Tastatur starten (Headless Server)

Die Sun SparcStations lassen sich auch ohne Tastatur und Monitor hochfahren (,,Kopfloser Server''). Die Ein- und Ausgabe erfolgt dann automatisch vom Terminal A (ttya). In Englisch ist das ganze hier ausführlich beschrieben.

Was man benötigt: Einen Gender-Changer male 25pin nach male 25pin; ein Null-Modem-Kabel (Belegung siehe weiter unten) oder z. B. ein Cisco-Kabel, einen zweiten Rechner (Laptop) mit Terminal-Programm (z. B. Hyper Terminal aus dem Zubehör-Menü des beliebten Windows). Wenn kein Null-Modem-Kabel vorhanden ist, geht auch ein einfaches serielles Kabel und ein Null-Modem-Adapter. Wichtig ist nur, dass ein Null-Modem-Kabel oder -Adapter verwendet wird, nicht ein normales serielles Kabel (z. B. vom Modem) und kein Laplink-Kabel.

Einstellungen für das Terminal: 9600 8N1
Terminal-Emulation: VT100

Wenn alles verbunden ist und die Terminal-Emulation steht, wird der Tastaturstecker an der Sun gezogen und die Workstation hochgefahren. Die PROM-Meldungen und die Meldungen des Boot-Vorganges sollten jetzt auf dem Terminal sichtbar sein.

Der Boot-Vorgang wird mit "Break" abgebrochen (wie <STOP> - <A> auf der Sun-Tastatur). Vom PC-Terminal wird dieses Zeichen durch gleichzeitiges Drücken von <Strg/Ctrl> und <Break> (<Unterbr/Pause> auf deutschen Tastaturen) erzeugt. Man sollte vor dem Abbrechen der Terminal-Sitzung den Rechner herunterfahren (shutdown, poweroff, halt), weil bei Verlust der Terminal-Verbinung in den PROM Monitor verzweigt wird. Dann ist der Recher natürlich über Netzwerk (telnet, ssh) nicht mehr zu erreichen.

Belegung des Full-Handshake Null-Modem Kabels:

           25-pin           25-pin
             2 --------------- 3
             3 --------------- 2
             4 --------------- 5
             5 --------------- 4
             7 --------------- 7
             6 ---+
                  +----------- 20
             8 ---+
                          +--- 6
             20 ----------+
                          +--- 8
 

Remote-Boot, Diskless Client Workstation

Ein Projekt für lange Winterabende ...
Booten einer Sparc Station 4 ohne Festplatte von einem Server, BOOTP oder DHCP Server, tftp Server, Root-Mount über NFS etc.


Solaris x86 Hacks


Einige Kochrezepte für Solaris 7 auf der Intel Platform (i86pc)

Kein PnP verwenden!

Vorgehen bei Einbau neuer Netzwerkkarte (siehe Netzwerkkarte.html).

Master Boot Record mboot neu schreiben

fdisk -b /usr/lib/fs/ufs/mboot -n /dev/rdsk/c0t0d0p0
Beachte, dass p0 verwendet wird, auch bei SCSI Platten. Für IDE-Platten ist t0 entsprechend auszulassen.

Solaris Bootblock und Boot Program (booltblk und ufsboot) neu schreiben

installboot /usr/platform/`uname -i`/lib/fs/ufs/pboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s2
Hier wird slice 2 (also die gesamte Platte) benutzt.

Konfiguration des XSun Servers, der Tastatur und der Maus:
/usr/openwin/bin/kdmconfig

Viele Tipps und Tricks wären noch aufzuschreiben, vielleicht ein anderes Mal.



$Id$ --------------D8C575607F3CF6236DB24F1E--