Sun-Server besitzen einen so genannten OpenBoot-PROM-Speicherchip, der sich auf dem gleichen Mainboard wie die CPU und der Speicher befindet. Im Chip befinden sich weitere Programme mit ihren zugehörigen Gerätetreibern. Die OPB-Software wird in EEPROMs (Electrically Erasable Programmable Read Only Memory) oder in NVRAMs (Non Volatile Random Access Memory) gespeichert.
Aufgaben des OBP:
-testen der Server-Hardware (CPU, RAM, Mainboard usw.)
-Hardwarespezifischen Einstellungen (=OBP-Variablen),
-booten des installierten Betriebssystems (z.B. Solaris)
Boot Vorgang eines SUN-Servers:
Im OPB werden verschiedene Variablen zur Konfiguration der Hardware eingestellt. Dabei handelt es sich um eigene Befehle, die nicht mit Solaris-Befehlen zu verwechseln sind. Der NVRAM-Chip speichert nicht nur die Konfigurationsparameter (=OBP-Variablen), sondern auch noch die MAC-Adresse, die Host-ID und die Datum- bzw. Uhrangaben.
OPB-Ablauf:
Wird ein System angeschaltet, läuft zuerst ein POST-Programm (Power on self test) ab, es wird also die Funktionalität der Hardware getestet. Danach übernimmt die Firmware die weitere Steuerung des Rechners. Die Firmware initialisiert das System, testet den Haupt-RAM, die CPU und die Busse. Dann bleibt der Rechner mit dem Promt "ok" stehen und wartet auf weitere Eingaben des Benutzers.
Die wichtigsten OBP-Befehle:
Befehl: Bedeutung:
banner Zeigt das Boot-Banner an (Informationen wie System-Takt, OBP Revision, Systemspeicher, Ethernetadresse und Host-ID;
.enet-addr Zeigt die Ethernetadresse an
devalias [alias path] Physikalischer Pfad des Gerätes
LED-off/LED-on Schaltet die System-LED an oder aus;
nvunalias [name path] Löschen einen Alias, der durch einen User mit nvalias erstellt wurde
nvalias [name path] Einen neuer Alias für ein Gerät wird erstellt
nvstore Kopiert die Inhalte des Speichers in den NVRAM
power-off/power-on An- bzw. Ab-Schalten des Systems
printenv Zeigt alle Parameter an mit ihren Werten
probe-fcal-all Identifiziert die Fiber Channel Arbitrated Loop (FCAL) Geräte am System
probe-sbus Identifiziert Geräte die zum SBUS-Slot hinzugefügte wurden
probe-scsi Identifiziert Geräte die am onboard-SCSI-Bus angeschlossen sind
probe-scsi-all Identifiziert Geräte die an allen SCSI-Busen angeschlossen sind
set-default [parameter] Setzt den Wert eines Parameters auf den Default-Wert zurück
set-defaults Setzt die Werte aller Parameter auf default zurück
setenv [parameter value] Setzt einen neuen Wert für einen Parameter
show-devs Zeigt alle vom System erkannten Geräte an
show-disks Zeigt die physikalischen Pfade der Disk-Controller an
show-displays Zeigt die physikalischen Pfade des Frame-Buffer an
show-nets Zeigt die physikalischen Pfade der Netzwerkkarten an
show-post-results Zeigt eine Auswertung an, aber erst nach einem Power On Self Test
show-sbus Zeigt die angeschlossenen Geräte von allen SBUS-Slots an
show-tapes Zeigt die physikalischen Pfade der Tape-Controller an
sifting [string] Zeigt alle OBP-Befehle mit Zeichenfolge [string] an
.speed Zeigt die CPU- und Bus-Geschwindigkeit an
test [device-specifier] Führt den Selbsttest für ein Gerät durch
test-all Führt den Selbsttest für alle Geräte durch
.version | Zeigt OBP- und POST-Version an |
watch-clock Test des Real-Time-Clock-Chips (RTC)
watch-net Überwacht die Netzwerkverbindung der primären Netzwerkkarte
watch-net-all Überwacht alle Netzwerkverbindungen
words Zeigt alle OBP-Befehle und Methoden an
NVRAM Konfigurations Variablen (Ausgabe von "printenv"):
Variablen Name |
Standart Wert |
|
auto-run? | false | |
ip-addr-obdiag |
ff.ff.ff.ff |
|
dhcp-clientid |
||
multiplexer-output-devices |
ttya ttye |
|
multiplexer-input-devices |
ttya ttye | |
shutdown-temperature |
70 | |
critical-temperature |
65 | |
warning-temperature |
60 | |
env-monitor |
disabled | |
ntp-server-addr |
255.255.255.255 | |
ntp-enable? |
false | |
auto-config-save? |
false | |
diag-passes |
1 | |
diag-continue? |
0 | |
diag-targets |
0 | |
diag-verbosity |
0 | |
post-on-sir? |
false | |
scsi-initiator-id |
7 | |
#power-cycles |
No default | |
system-board-serial# |
No default | |
system-board-date |
No default | |
ttyb-rts-dtr-off |
false | |
ttyb-ignore-cd |
true | |
ttya-rts-dtr-off |
false | |
ttya-ignore-cd |
true | |
ttyb-mode |
9600,8,n,1,- | |
ttya-mode |
9600,8,n,1,- | |
cpci-probe-list |
0,1,2,3,4,5,6,7,8,9,a,b,… | |
pcia-probe-list |
1 | |
pcib-probe-list |
1,2,3,4 | |
probe-delay |
30 | |
keyboard-click? |
false | |
keymap |
||
mfg-mode |
off | |
diag-level |
max | |
watchdog-timeout |
65535 | |
watchdog-enable? |
false | |
fcode-debug? |
false | |
output-device |
screen | |
input-device |
keyboard | |
load-base |
16384 | |
auto-boot-retry? |
false | |
boot-command |
boot | |
auto-boot? |
true | |
watchdog-reboot? |
false | |
diag-file |
||
diag-device |
net | |
boot-file |
||
boot-device |
disk net | |
net-timeout |
0 | |
ansi-terminal? |
true | |
screen-#columns |
80 | |
screen-#rows |
34 | |
local-mac-address? |
false | |
silent-mode? |
false | |
use-nvramrc? |
false | |
nvramrc |
||
security-mode |
No default | |
security-password |
||
security-#badlogins |
No default | |
oem-logo |
||
oem-logo? |
false | |
oem-banner |
||
oem-banner? |
false | |
hardware-revision |
||
last-hardware-update |
||
diag-switch? |
false | |
ok |