OpenBoot PROM (OBP) Referenz
1.
Über dieses Dokument
Dieses Dokument bietet eine Liste von nützlichen OBP-Befehlen an, die beim
Booten, Konfigurieren und Durchführen von Diagnosen von Sun SPARC Hardware und
Klonen hilfreich sein können.
Beachten Sie, dass nicht alle Befehle unter allen PROM-Versionen verfügbar sind.
Besonders sun4c-Systeme haben einen unterschiedlichen Eingabemodus und einigen
JavaStation-Modellen fehlt viel der OBP-Funktionalität.
OBP ist ein wenig uneinheitlich, wenn es um Befehlsnamen geht. Manchmal werden
Bindestriche dazu benutzt, Wörter zu trennen, manchmal nicht. Manche Befehle,
die Informationen anzeigen, starten mit einem Punkt oder enthalten einen
solchen.
Die Begriffe "OBP", "OpenBoot PROM" und "PROM" werden in diesem Dokument synonym
benutzt.
2.
OBP Betreten
Systeme mit Sun-Tastaturen
Auf normalen Sun-Systemen (und Kopien, die Sun-Tastaturen benutzen), drücke
Stop+A, wenn das System bootet, um die OBP zu öffnen. Die Taste
Stop ist die Taste oben links auf dem Tastenzusatzblock auf der linken
Seite der Tastatur (Auf wirklich alten Systemen ist es möglicherweise als
L1 markiert).
Die Tastenkombination Stop+N beim Booten wird viele Systeme auf die
Standard-PROM-Einstellungen zurücksetzen. Stop+D aktiviert auf einigen
die Diagnose
Über die serielle Konsole
Um die OBP über eine serielle Konsole zu öffnen, senden Sie eine Pause. In
minicom erreichen Sie dies durch Drücken von ctrl+A F. In xc benutzen Sie
ctrl+A B.
Systeme mit Nicht-Sun (PC-Stil) Tastaturen
Unter Systemen mit PC-Stil-Tastaturen (beispielswise JavaStations und einige
Ultra-Klone) wird generell ctrl+break oder alt+ctrl+break benutzt.
Beachten Sie, dass auf der JavaStation JK ctrl+break den Rechner
neustarten wird, anstatt die PROM zu öffnen. Um in die OBP zu kommen, müssen Sie
die Jumper J13000 Pins 7-8 auf dem Mainboard setzen.
3.
Grundlegende Systembefehle
Stoppen und Neustarten
Der Befehl power-off wird den Rechner anhalten und den Strom abstellen.
Dieser Befehl ist auf Ultra5/10 Systemen manchmal verrückt.
Der Befehl reset wird ein Softreset ausführen. Wenn Diagnosen aktiviert
sind, werden diese nicht noch erneut ausgeführt. In einigen Dokumenten
ist dieser Befehl als reset-all bekannt.
Der Befehl boot bootet das System. Ein Parameter kann übergeben werden,
um das Standardbootgerät zu überschreiben -- Das kann ein kompletter Gerätename
oder ein Gerätealias wie disk , cdrom oder net sein.
Jegliche zusätzliche Parameter werden an den Bootloader oder das Betriebsystem
übergeben.
PROM und Systeminformation
Der Befehl .version zeigt die OBP-Version an.
Befehlsauflistung 3.1: Ausgabe von .version |
{0} ok .version
Release 3.7 Version 0 created 1997/01/09 13:06
OBP 3.7.0 1997/01/09 13:06
POST 3.2.1 1996/12/20 03:01
|
Der Befehl banner zeigt das Systeminformationsbanner an.
Befehlsauflistung 3.2: Ausgabe von banner |
{0} ok banner
Sun Ultra 2 UPA/SBus (2 X UltraSPARC-II 296MHz), No Keyboard
OpenBoot 3.7, 704 MB memory installed, Serial #9705521.
Ethernet address 8:0:20:94:18:31, Host ID: 80941831
|
Der Befehl .speed zeigt die Bus-Geschwindgkeiten an.
Befehlsauflistung 3.3: Ausgabe von .speed |
{0} ok .speed
CPU Speed : 296.00 MHz
UPA Speed : 098.66 MHz
SBus Speed : 025.00 MHz
|
Geräteinformation
Der Befehl show-devs zeigt eine Liste verfügbaren Geräte unter dem System
an.
Der Befehl probe-scsi zeigt die unter dem System verfügbaren internen
SCSI-Geräte an. Der Befehl probe-scsi-all zeigt sowohl interne als auch
externen Geräte an der SCSI-Schnittstelle an. Nach der Benutzung einer dieser
beiden Befehle, muss ein reset-all ausgeführt werden, bevor man
versucht, ein Betriebsystem zu booten.
Befehlsauflistung 3.4: Ausgabe von probe-scsi-all |
{0} ok probe-scsi-all
This command may hang the system if a Stop-A or halt command
has been executed. Please type reset-all to reset the system
before executing this command.
Do you wish to continue? (y/n) y
/sbus@1f,0/SUNW,fas@e,8800000
Target 1
Unit 0 Disk SEAGATE ST34371W SUN4.2G74629710B00491
Copyright (c) 1997 Seagate
All rights reserved
|
Der Befehl probe-ide ist auch auf IDE-basierten Systemen verfügbar.
Befehlsauflistung 3.5: Ausgabe von probe-ide |
ok probe-ide
Device 0 ( Primary Master )
ATA Model: ST320420A
Device 1 ( Primary Slave )
ATA Model: Maxtor 6E040L0
Device 2 ( Secondary Master )
Not Present
Device 3 ( Secondary Slave )
Not Present
|
4.
Umgebungsvariablen und Gerätealiase
Ausgeben und Setzen der Umgebungsvariablen
Verwenden Sie printenv, um eine Liste der Umgebungsvariablen zu erhalten.
Um den Wert einer bestimmten Variablen zu sehen, benutzen Sie
printenv fnord.
Um eine Variable zu setzen, benutzen Sie setenv myvar the new value.
Um den Standardwert einer Variablen wiederherzustellen, benutzen Sie
set-default blah. Um alle Variablen zurückzusetzen, können Sie
set-defaults verwenden.
Beachten Sie, dass boolsche Variablen normalerweise mit einem ? enden und
dass sie von anderen Variablen mit dem selben Namen ohne Fragezeichen
unterschieden werden. Für boolsche Variablen werden die Werte true und
false genutzt.
Nützliche Umgebungsvariablen
Einige nützliche Umgebungsvariablen:
| Variable |
Bedeutung |
| ttya-mode |
Setzt die baud-Rate und verwandte Einstellungen, die von einer seriellen
Konsole genutzt werden. Standardmäßig wird 9600,8,n,1,- benutzt,
dies bedeutet 9600 baud, 8 bits, keine Parität, ein Stopbit, keine
Flusskontrolle.
|
| auto-boot? |
Standardmäßig bootet OBP automatisch beim Starten. Setzen Sie dies auf
false, wenn Sie den boot-Befehl lieber selbst senden möchten.
|
| boot-device |
Falls auto-booting eingeschaltet ist und boot ohne Parameter
angegeben wird, wird diese Variable genutzt, um das Boot-Gerät zu
bestimmen. Mehrere Werte können benutzt werden (durch Leerzeichen
getrennt), wobei diese der Reihe nach ausprobiert werden. Jeder Wert kann
ein vollständiger Gerätepfad oder ein Gerätealias sein.
|
| diag-device |
Wie boot-device, wird aber benutzt, wenn diag-switch?
eingeschaltet ist.
|
| local-mac-address? |
Falls gesetzt, werden vorhandene Netzwerkschnittstellen ihre eigene MAC
anstelle der systemweiten MAC verwenden. Dies ist einheitlich mit dem
Verhalten der PCs und ein Verstoß der Ethernet-Spezifikation.
|
| diag-switch? |
Falls gesetzt, werden zusätzliche Diagnosen beim Einschalten durchgeführt.
Beachten Sie, dass dies eine sehr lange Zeit auf SMP- und/oder
HyperSparc-Systemen benötigen kann. Außerdem wird die Variable
diag-device, auch benutzt, um das Bootgerät zu bestimmen, anstelle
von boot-device. Einige Systeme verfügen über einen
Mainboard-Jumper oder einen Schalter vorne an der Maschine, welcher
erzwingt, dass diese Einstellung eingeschaltet ist.
|
Abfragen und Setzen von Gerätealiasen
Gerätealiase können benutzt werden, um die Argumente an viele Befehle zu
vereinfachen. Anstelle boot /sbus/SUNW,hme@e,8c00000 einzutippen,
benutzt man beispielsweise boot net. Eine Anzahl von Gerät-Aliasen ist
auf allen Geräten standardmäßig schon definiert.
Um alle Gerät-Aliase zu sehen, benutzen Sie den Befehl devalias. Um ein
bestimmtes Alias zu sehen, benutzen Sie devalias whatever. Um ein Alias
zu setzen, benutzen Sie devalias whatever newvalue.
Ändern der Monitorauflösung
Die Variable output-device kann genutzt werden, um zu kontrollieren,
welcher Framebuffer benutzt wird und auf welcher Auflösung er für die PROM
Konsole benutzt wird. Als Beispiel, zum Benutzen der Creator Karte auf einem
Ultra 1c oder 2 bei einer Auflösung von 1024x768@76Hz:
Befehlsauflistung 4.1: Ändern der Monitoreinstellungen |
{0} ok devalias screen /SUNW,ffb
{0} ok setenv output-device screen:r1024x768x76
|
Die Änderungen werden bis zum nächsten Reset keinen Effekt erzielen. Nicht alle
Auflösungen und Erneuerungen sind auf allen Karten verfügbar.
5.
Diagnose
Den Diagnose-Modus betreten
Bevor Sie irgendeine Diagnose durchführen, ist es am besten, diag-switch?
einzuschalten und einmal komplett herunterzufahren und neuzustarten (hard power
off). Zusätzliche Diagnoseinformationen werder über die serielle Konsole
bereitgestellt, wenn die Maschine bootet.
Grundlegende Tests
Wenn der Selbsttest beim Einschalten (Power On Self Test, POST) erfolgreich
verläuft, können weitere Tests durchgeführt werden, indem die Befehle
test, test-all, watch-net und watch-clock benutzt
werden.
Der Befehl test somedevice führt Tests an einem spezifischen Gerät durch
(das kann ein Gerätepfad oder ein Geräte-Alias sein).
Befehlsauflistung 5.1: Beispielstest |
{0} ok test scsi
CE DMA fill from address fff8e000 for 80 bytes succeeded.
Dma register test -- succeeded.
Esp register test -- succeeded.
Dma read test -- succeeded.
Dma write test -- succeeded.
{0} ok test /sbus/SUNW,hme
Internal loopback test -- succeeded.
Transceiver check -- Using Onboard Transceiver - Link Up.
passed
{0} ok test ttya
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn
|
Der Befehl test-all führt an jedem Gerät, das dazu in der Lage ist,
Selbsttests durchzuführen, einen Test durch.
Der Befehl watch-net kann benutzt werden, um nach über das Netzwerk
gesendete Broadcast-Paketen Ausschau zu halten.
Der Befehl watch-clock kann benutzt werden, um zu prüfen, ob die interne
Uhr funktioniert. Es sollte immer wieder von 0 bis 59 mit einem Intervall von
einer Sekunde zählen.
Erweiterte Diagnosen unter Benutzung von obdiag
Notiz:
Die obdiag Routinen sind nur auf dem Ultra5/10 und neueren verfügbar.
|
Um den erweiterten Diagnosemodus zu aktivieren, benutzen Sie Folgendes:
Befehlsauflistung 5.2: obdiag betreten |
ok setenv mfg-mode on
mfg-mode = on
ok setenv diag-switch? true
diag-switch? = true
ok setenv auto-boot? false
auto-boot? = false
ok reset-all
ok obdiag
|
Dies sollte ein Menü anzeigen. Wählen Sie zuerst 16 aus, um ausführliche
Nachrichten zu aktivieren.
Befehlsauflistung 5.3: obdiag-Menü |
OBDiag Menu
0 ..... PCI/Cheerio
1 ..... EBUS DMA/TCR Registers
2 ..... Ethernet
3 ..... Keyboard
4 ..... Mouse
5 ..... Floppy
6 ..... Parallel Port
7 ..... Serial Port A
8 ..... Serial Port B
9 ..... NVRAM
10 ..... Audio
11 ..... EIDE
12 ..... Video
13 ..... All Above
14 ..... Quit
15 ..... Display this Menu
16 ..... Toggle script-debug
17 ..... Enable External Loopback Tests
18 ..... Disable External Loopback Tests
Enter (0-13 tests, 14 -Quit, 15 -Menu) ===> 16
Enter (0-13 tests, 14 -Quit, 15 -Menu) ===>
|
Individuelle Tests können dann durch Auswählen der relevanten Nummer
durchgeführt werden. Beachten Sie, dass manche Tests (beispielsweise serielle
Ports) annehmen, dass ein externes Loopback-Gerät angeschlossen ist. Der
Ethernet-Test nimmt an, dass ein Kabel mit einem Switch verbunden und
angeschlossen ist.
Um zu verlassen, benutzen Sie 14.
6.
Referenzen
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|