OpenBoot PROM (OBP) Reference
1.
A proposito di questo documento
Questo documento fornisce una lista di utili comandi per OBP che possono essere
d'aiuto quando si avvia, configura o si esegue una diagnosi su hardware o cloni
Sun SPARC.
Nota che non tutti i comandi sono disponibili in tutte le versioni di PROM. In
modo particolare, i sistemi sun4c hanno differenti modi di input e alcune
stazioni JavaStation non sono provviste di molte funzionalità di OBP.
I comandi di OBP sono qualcosa di inconsistente. Alcune frasi sono usate con
parole separate, altre non lo sono. Alcuni comandi che mostrano informazioni
partono o contengono un punto (convenzione FORTH).
Il termine "OBP", "OpenBoot PROM" e "PROM" sono usati alternativamente in questo
documento.
2.
Entrare in OBP
Sistemi con tastiere Sun
In sistemi SUN normali (e cloni che usano tastiere Sun), per entrare in OBP
premi Stop+A quando il sistema si avvia. Il bottone Stop è nella
parte sinistra della tastiera, in alto a sinistra sopra il blocco di tasti extra
(nei sistemi molto vecchi è marcato da L1).
La combinazione di tasti Stop+N durante l'avvio, causa il reset della
configurazione predefinita di PROM in molti sistemi. Su alcune macchine
Stop+D abilita la diagnostica
Nella Console seriale
Per entrare in OBP con la console seriale, invia un break. In minicon, fai
questo premendo ctrl+A F. In xc utilizza ctrl+A B.
Sistemi con tastiere non Sun (stile PC)
Nei sistemi con tastiere stile PC (come JavaStation e alcuni cloni Ultra), sono
generalmente usati ctrl+break o alt+ctrl+break.
Nota che nelle JavaStation JK, ctrl+break riavvia la macchina al posto di
entrare in PROM. Per accedere a OBP, devi mettere sulla scheda madre il jumper
J1300 sui pin 7-8.
3.
Comandi base di sistema
Spegnimento e riavvio
Il comando power-off spegne la macchina. Questo comando è a volte strano
nei sistemi Ultra5/10.
Il comando reset causa un reset. Se la diagnostica è abilitata,
non avviene il riavvio. In alcuni documenti, questo comando si chiama
reset-all.
Il comando boot avvia il sistema. Si può utilizzare un parametro per
sovrascrivere il device di boot predefinito --questo può essere un nome completo
di device oppure un alias di un device come disk, cdrom oppure
net. Nessun'altro parametro addizionale viene passato al bootloader o al
sistema operativo.
Informazioni su PROM e sul sistema
Il comando .version visualizza la versione di OBP.
Codice 3.1: output di .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
|
Il comando banner visualizza le informazioni di sistema.
Codice 3.2: output di 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
|
Il comando .speed visualizza le velocità del bus.
Codice 3.3: output di .speed |
{0} ok .speed
CPU Speed : 296.00 MHz
UPA Speed : 098.66 MHz
SBus Speed : 025.00 MHz
|
Informazioni sui dispositivi
Il comando show-devs visualizza la lista dei dispositivi disponibili sul
sistema.
Il comando probe-scsi visualizza i dispositivi interni SCSI disponibili
sul sistema. Il comando probe-scsi-all visualizza entrambi i dispositivi,
interni ed esterni su ogni interfaccia SCSI. Dopo aver dato questi comandi,
devi concludere con un reset-all prima di tentare il boot di un
sistema operativo.
Codice 3.4: output di 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
|
Nei sistemi basati su IDE è pure disponibile il comando probe-ide
Codice 3.5: output di 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.
Variabili di ambiente e alias di device
Vedere e impostare il valore delle varibili di ambiente
Utilizza printenv per avere una lista delle varibili di ambiente. Per
vedere il contenuto di una specifica variabile, utilizza il comando printenv
fnord.
Per impostare il valore di una variabile, utilizza setenv variabile
nuovo_valore.
Per ripristinare una variabile al suo valore predefinito utilizza set-default
variabile. Per ripristinare tutte le variabili con il loro valore
predefinito utilizza set-defaults.
Nota che solitamente le variabili booleane finiscono con ?, e che sono
separate dalle variabili con lo stesso nome senza il punto di domanda. I valori
utilizzati per le variabili booleane sono true e false.
Variabili di sistema utili
Alcune variabili di sistema utili:
| Variabile |
Significato |
| ttya-mode |
Imposta il baud rate e relative impostazioni usate dalla console seriale.
Per default viene utilizzato 9600,8,n,1,-, che significa 9600 baud, 8
bit, nessuna parità , 1 bit di stop, nessun controllo del flusso.
|
| auto-boot? |
Per default OBP viene automaticamente avviato. Imposta questa variabile a
false se vuoi dare il comando di boot manualmente.
|
| boot-device |
Quando avviene l'auto-boot, e quando il comando boot è dato senza
argomenti, questa variabile è usata per determinare il device per il boot.
Possono essere assegnati più di un valore (separati da spazio), in questo
caso vengono provate una dopo l'altra. Ogni valore può essere un percorso
completo al device oppure l'alias del device.
|
| diag-device |
Come boot-device, ma usato quando è abilitata diag-switch?.
|
| local-mac-address? |
Se impostata, le interfacce di rete utilizzano il loro proprio MAC al posto
del system-wide MAC. Questo è consistente al comportamento dei PC, e in
violazione con le specifiche Ethernet.
|
| diag-switch? |
Se settato, vengono eseguiti all'avvio addizionali controlli di diagnostica.
Nota che questo può impegnare un tempo molto lungo nei sistemi SMP
e/o HyperSparc. In più, la variabile diag-device è anche utilizzata
per determinare il device di boot invece della variabile boot-device.
Alcuni sistemi hanno un jumper sulla scheda madre oppure uno switch sul
davanti della macchina che forza questa impostazione.
|
Vedere e impostare i device alias
Gli alias dei device possono essere utilizzati per semplificare gli argomenti
di molti comandi. Invece di digitare boot /sbus/SUNW,hme@e,8c00000, per
esempio, si può utilizzare boot net. Alcuni alias di device sono definiti
per default in tutti i sistemi.
Per vedere tutti gli alias di device, utilizza il comando devalias. Per
vedere un alias specifico, utilizza devalias nome_device. Per impostare
un device alias, utilizza devalias nome_device nuovo_valore.
Cambiare la risoluzione del monitor
La variabile output-device può essere utilizzata per controllare quale
framebuffer è utilizzato, e a che risoluzione è impostato per la console PROM.
Per esempio, per usare la scheda Creator su Ultra 1C o 2 ad una risoluzione di
1024x768@76MHz:
Codice 4.1: Cambiare impostazioni del monitor |
{0} ok devalias screen /SUNW,ffb
{0} ok setenv output-device screen:r1024x768x76
|
I cambiamenti non hanno effetto fino a quando non si fa un reset. Non tutte le
risoluzioni e refresh sono supportate dalle schede video.
5.
Diagnostica
Entrare nella modalità di diagnostica
Prima di entrare in qualsiasi modalità di diagnostica è consigliato abilitare
diag-switch?, spegnere completamente la macchina e riaccenderla (hard
power off). Maggiori informazioni sulla diagnostica sono fornite dalla console
seriale quando la macchina è avviata.
Test di base
Se l'autotest di accensione (POST) ha successo, possono essere ottimizzati
alcuni test usando il comando watch-clock.
Il comando test device_da_testare fornisce un controllo del specifico
device (patch completo o alias).
Codice 5.1: Esempio di test |
{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
|
Il comando test-all fornisce un controllo su ogni device capace di un
auto test.
Il comando watch-net può essere utilizzato per vedere pacchetti broadcast
inviati sulla rete.
Il comando watch-clock può essere utilizzato per verificare che il clock
interno sia funzionante. Esso deve contare da 0 a 59 in un ciclo con intervallo
di 1 secondo.
Diagnostica avanzata tramite l'utilizzo di obdiag
Nota:
La routine obdiag è disponibile soltanto su Ultra 5/10 e successivi.
|
Per abilitare la diagnostica avanzata fai come segue:
Codice 5.2: Entrare in obdiag |
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
|
Questo visualizza un menù. Prima scegli 16 per abilitare i messaggi
proliss.
Codice 5.3: menu di obdiag |
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) ===>
|
Test individuali possono essere così eseguiti scegliendo il loro relativo
numero. Nota che alcuni test (per esempio, quello delle porte seriali),
presuppone che vi sia un attaccato un connettore esterno per il loopback. Il
test Ethernet presuppone che il cavo di rete sia attaccato e connesso ad uno
switch.
Per uscire utilizza 14.
6.
Referenze
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|