OBP (Open Boot Prom) et NVRAM

De UnixManiax
Aller à : navigation, rechercher


Présentation

L’OBP est, sur les serveurs SPARC, l’équivalent du BIOS sur les PC.

Au boot, on voit qu’on est dans l’OBP quand on voit le prompt « ok ».

La NVRAM contient des variables qui sont utiles à l’OBP et à Solaris, comme par exemple l’adresse mac, le hostid, l’heure, le périphérique de boot… Certaines valeurs sont modifiables, d’autres en lecture seule.


Les variables de la NVRAM

Pour voir la liste des variables, il faut taper « printenv », comme dans l’exemple ci-dessous :

ok printenv
Variable Name Value Default Value
tpe-link-test? true true
scsi-initiator-id 7 7
keyboard-click? false false
keymap
ttyb-rts-dtr-off false false
ttyb-ignore-cd true true
ttya-rts-dtr-off false false
ttya-ignore-cd true true
ttyb-mode 9600,8,n,1,- 9600,8,n,1,-
ttya-mode 9600,8,n,1,- 9600,8,n,1,-
pcia-probe-list 1,2,3,4 1,2,3,4
pcib-probe-list 1,2,3 1,2,3
mfg-mode off off
diag-level max max
#power-cycles 273
output-device screen screen
input-device keyboard keyboard
boot-command boot boot
auto-boot? true true
[…]

La colonne de gauche indique le nom de la variable, celle du milieu la valeur courante et celle de droite la valeur par défaut.

S’il n’y a qu’une seule valeur, c’est que la variable est en lecture seule.

Si le nom se termine par un « ? », c’est une variable qui ne peut avoir comme valeur que « true » ou « false ».

Pour n’afficher qu’une variable :

ok printenv auto-boot?
auto-boot ? = true

Pour modifier la valeur de la variable (attention, il faut rebooter avec « reset-all » pour que ce soit pris en compte)

ok setenv auto-boot? false
auto-boot? = false
ok reset-all
Resetting ...


Scanner les périphériques

probe-ide
probe-scsi-all
show-devs

Depuis le shell

Une bonne partie des variables peut se modifier depuis le shell, donc une fois que Solaris est démarré. Pour voir et modifier les variables depuis le shell, on utilise la commande eeprom.

Pour voir les variables :

eeprom

Exemple pour modifier l'auto-boot :

eeprom auto-boot?=true