sonnenblen.de - Das unabhängige Sun User Forum
Hardware => Hardware-Tips => Thema gestartet von: escimo am 15. Februar 2009, 01:58:33
-
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
-
Welche OBP Version wird eingesetzt? 2.9? Falls nicht, kann ich Dir dieses liefern, damit sollte das Verhalten so sein wie unter Solaris
-
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
-
setenv var "" bzw setenv var " " schon probiert?
Claus
-
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 ???
-
Drei Programmierer trafen sich und fragten, "Wo ist ein Forth Programmierer wenn man einen braucht???"
-
Zumindest last-hardware-update kann man auch direkt im NVRAM auf Null setzen... siehe NVRAM-FAQ.
-
last-hardware-update... siehe NVRAM-FAQ.
Zu last-hardware-update habe ich im NVRAM-FAQ (http://www.squirrel.com/sun-nvram-hostid.faq.html) nichts gefunden. ???