Resetting Sun idprom nvram

Note to self. Before it disappears from the interwebs. When your Sun idprom nvram battery dies.

The following was tested on a Sun SPARCstation 2 (sun4c) and Ultra 5 (sun4u):

Hit `n’ to get the new openboot prompt (it probably tries network booting):

f idprom@ 1 xor f mkp # this will invalidate the checkum
8 0 20 13 de ad c0ffee mkpl

Hit ctrl-D then ctrl-R, if you do NOT see a Sun Copyright notice, it worked, otherwise it failed.
You can check with:

.idprom

You probably want to set some sane defaults, and disable the diag mode, to skip the excessively long memory test each time you boot:

set-defaults
setenv diag-switch? false

#sun #ultrasparc #idprom #refresh #openfirmware #exactcode#t2sde #berlin

A post shared by RenéRebe™ (@renerebe) on

Update: A new clock chip also needs to be started. From what I read the old SunOS might have code in the kernel clock driver to do that, but AFAICS the Linux kernel does not. This (untested) OpenFirmware code sequence supposedly starts a new clock chip on sun4c:

2000000 obio 0 map-page # map NVRAM to page 0
80 7f8 c! # set write bit
0 7f9 c! # reset stop bit
80 7fb c! # set kick start
0 7f8 c! # reset write bit

#wait for two seconds
80 7f8 c! # set write bit
0 7fb c! # reset kick start

0 7f9 c! # set dummy time and date
0 7fa c! # (if necessary)
0 7fb c!
4 7fc c!
11 7fd c!
1 7fe c!
96 7ff c!

0 7f8 c! # reset write bit

Leave a Reply

You must be logged in to post a comment.