Hardware > Hardware-Tips

OBP Variable auf leeren Wert setzen

(1/2) > >>

escimo:
Hallo zusammen,

habe gerade nochmal mit der SPARCstation 2 (Hostname toosy) gespielt und folgendes feststellen können:

Unterhalb des OBP (OpenBoot PROM) Prompt kann man mittels des Kommandos "setenv <Variable> <Wert>" der Umgebungsvariable nur schwer einen leeren Wert (Leer-String) übergeben. Unterhalb von Solaris (getestet unter 2.5.1) ist das kein Problem:

   # cd /usr/platform/`uname -i`/sbin
   # eeprom <Variable>=[ENTER]

Legende:
<Variable> := Name der Variable
[ENTER] := direkt hinter dem Gleichheitszeichen die Eingabe-Taste bestätigen

Getestet an folgenden Variablen:

* hardware-revision
* last-hardware-update
Unterhalb von Solaris mittels des Kommandos "eeprom" wird als Wert "data not available" angezeigt. Unterhalb des OPB mit dem Kommando "printenv" wird bei dem entsprechenden Variablen kein Wert angezeigt beziehungsweise in der zweiten (mittleren) Spalte kein Wert mehr aufgeführt.

Grüße
escimo

Freud-Schiller:
Welche OBP Version wird eingesetzt? 2.9? Falls nicht, kann ich Dir dieses liefern, damit sollte das Verhalten so sein wie unter Solaris

escimo:
Folgende Version des OPB ist auf der SPARCstation 2 installiert:

ok .version
Release 2.9 Version 16 created 92/10/13 17:43:21

Andere Frage an dich, David: Wie übergibst du der <Variable> einen "Leerstring" mittels setenv im OBP? - Ist vielleicht nur ein Syntaxproblem. Wie bei FORTH "Leerstrings" übergeben werden, weis ich noch nicht.

ok setenv
Usage: setenv option-name value

Das ist natürlich nicht zu verwechseln mit set-default, mit dem man lediglich einen Defaultwert sofern vorhanden setzen lassen kann.

ok set-default
Usage: set-default option-name

claus:
setenv var "" bzw setenv var " " schon probiert?

Claus

escimo:
Ja, habe ich schon probiert. Dann steht "" bzw. " " als Wert in der Variable. Das selbe bei ' und '' (einfache Hochkommas) usw.

Weiterhin setenv var...
- [ENTER-Taste]
- cr
- \ rest-of-line
- 0x0 und dann "reset"
- ( ccc )
- value

Vielleicht muss man das Statement mit einem leeren Wert über den Stack zusammensetzen und dann ausführen:
push "setenv hardware-revision" (auf Stack ablegen)
push "0x0" (0 auf Stack ablegen)
die beiden oberen Stack-Einträge kombinieren
execute ???

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln