On 2011-07-07, Eric <> wrote:
> On Jun 21, 8:10*pm, w...@ubeblock.psr.com.invalid (Winston) wrote:
>>
>> * *Do printenv have "selftest-#megs"? *If so, does it match the machine's
>> memory size? *If it's smaller, POST is only testing part of the memory,
>> and if the tested part of memory is fine, POST passes.
>>
> I have no idea what you mean by "printenv" or "selftest-#megs". I'll
> have to dig
> through my OpenBoot doc. I'm not seeing anything grossly wrong and
> when
> the Ultra goes through the extended diagnostics it says everything
> passed.
Everything that it *tested* passed. The setting of the
"selftest-#megs" variable (if present) will control how much memory is
tested. With a slow system and a lot of RAM, it can slow boot
significantly, so it is common practice to set it to a minimum value
(e.g. 1 MB) after the system is initially proven to work, until problems
come up agains.
"printenv" (when typed at the OBP level) shows all the
environment variables which set lots of things which take effect at boot
time. You can see these all by typing (from a booted system) "eeprom".
Some clips from mine (on a SunBlade 2000) shows:
================================================== ====================
diag-passes=1
enclosure-type=540-3256-15
banner-name=Sun Blade 2000/1000
energystar-enabled?=true
pcia-probe-list=4,1
[ ... ]
ansi-terminal?=true
screen-#columns=80
screen-#rows=34
ttyb-rts-dtr-off=false
[ ... ]
security-#badlogins=0
#power-cycles=48
diag-script=none
diag-level=min
diag-switch?=false
error-reset-recovery=boot
================================================== ====================
This one does not have the "selftest-#megs" option, or if it
does, it is only visible from the OBP level.
But a SS-5 (much older machine, of course) has it:
================================================== ====================
screen-#rows=34
selftest-#megs=1
scsi-initiator-id=7
================================================== ====================
If it is present, it defines how much memory is tested during the normal
POST.
Note, BTW, that the weird characters in there are part of the
variable names, and indicate that the contents are something other than
a plain string. A '?' indicates that it is expecting either "true" or
"false", and a '#' indicates that it is expecting a number value.
These *must* be present. No problem at the OBP level, but from
a booted system, the shells have special meanings for '?' and '#', so
you have to put the whole line in double quotes, or put '\' in front of
each such character.
And -- only root can change the settings from a booted system
using the "eeprom" command, though anybody can *look* at them.
And from the OBP you use the "setenv" command, without an '='
sign (but with a space), while from the eeprom command from a booted
system, it will be something like:
eeprom "selftest-#megs=40"
Or whatever value represents the whole of memory.
The things which control the boot time diagnostics on my SB-2000 are:
================================================== ====================
diag-passes=1
diag-file: data not available.
diag-device=disk:f
diag-script=none
diag-level=min
diag-switch?=false
================================================== ====================
Currently, they are set to bypass the majority of the tests, and will
remain so until I start having troubles with the system.
>>
>> * *The boot (EE)PROM should have a memory test diagnostic, with more
>> options than the POST test. *Try running that on the questionable memory.
>> *-WBE
> I guess my language is sloppy, when I refer to POST, I mean everything
> that
> happens from the time you press the ON button until the time the Ultra
> tries
> to boot off of something. In that context, an extended diagnostic was
> run
> (I'm pretty sure).
That is where the "selftest-#megs" value (if present) limits the
amount of memory that is tested.
There are other test options which can be only invoked from the
OBP prompt.
> How about another approach. It turns out I have SunVTS on this thing
> (ver 4.0 to
> go w/ Solaris 8). In multiuser mode, under CDE I'm running a
> "functional mode"
> test with pmemtest as well as all the processor tests. I plan on
> running this test
> overnight. If I'm trying to smoke out bad memory, is this a good way
> to do it?
I don't find "pmemtest" on my Solaris 10. Nor do I find it on
systems running Solaris 2.6, so I have no idea what it really does, but
I suspect that it can't touch the memory in which the kernel is running.
However -- the "diag-level" (in the OPB) can be set to "max",and
the "diag-switch?" set to "true" for the maximum test during the boot
process. Or -- you can invoke certain tests from the command line in
OBP. Try something like "test ?" to get a list of test options.
Good Luck,
DoN.
--
Remove oil spill source from e-mail
Email: <> | Voice (all times): (703) 938-4564
(too) near Washington D.C. |
http://www.d-and-d.com/dnichols/DoN.html
--- Black Holes are where God is dividing by zero ---