HowTo OpenBoot-PROM

April 6th, 2011 von sdohn

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