If your SPARCstation won’t boot and all you see is “TOD clock not initialized” partway through the boot sequence, you may have corrupted the time-of-day chip by attempting to set a modern date under SunOS 4.1.4. This article explains how that happens and how to fix it using a Solaris 2.6 install disc.
Background
After replacing a dead timekeeper chip and reprogramming the IDPROM, your SPARCstation should boot normally. If you are unfamiliar with those procedures, see M48T02 Timekeeper External Battery Mod for the hardware repair and Resetting IDPROM on Sun Workstations for programming the machine type and Ethernet address.
The trouble starts after the machine is up and
running. SunOS 4.1.4 is happily booted, and you
notice the date is wrong. Naturally you reach for
the date command to correct it.
The Problem
The SunOS 4.1.4 date command accepts only a
two-digit year. It was written in an era when dates
beyond the 1990s were not a concern. If you attempt
to set a date like 2026, the command writes an
invalid value into the time-of-day chip. Once that
happens, the TOD data is corrupted and the machine
will refuse to boot, stopping with:
TOD clock not initialized
I first encountered this on a SPARCstation IPC after a timekeeper replacement. The machine booted fine with the new chip and a freshly programmed IDPROM, but the moment I tried to set the date to a modern year the system was bricked. Power cycling did not help. The invalid value was now stored in the hardware and SunOS would not get past it.
The Fix
The solution is to use the Solaris 2.6 installer to write a valid date into the TOD chip. Solaris 2.6 understands modern dates and will happily program the hardware with a correct value. You do not need to actually install Solaris. You just need to get far enough into the installer for it to write the date.
Step 1: Load the Solaris 2.6 Install Media
Place the Solaris 2.6 install CD in your CDROM drive, or if you are using a ZuluSCSI, load the Solaris 2.6 ISO image onto your SD card. If you need a Solaris 2.6 image, several of the ZuluSCSI disk images pages have download links.
Step 2: Boot the Installer
Power on the machine and stop at the OpenBoot ok
prompt if your machine is set to autoboot. Then boot
from the install media:
boot cdrom
Step 3: Walk Through the Installer
Proceed through the first few screens of the Solaris 2.6 graphical installer as if you were performing a real installation. The answers you give to the early questions do not matter. Eventually the installer will present a dialog asking you to set the date and time.
Step 4: Set the Date
Enter the current date and time. A modern date is perfectly fine. Solaris 2.6 understands years well beyond 2000. Click the button to continue. The console window in the graphical installer will indicate that all information has been collected.
Step 5: Power Off
At this point, simply turn off the power. You do not need to continue with the Solaris installation. The installer has already written the corrected date into the TOD chip.
Step 6: Reboot into SunOS
Power the machine back on and let it boot from its
normal SunOS 4.1.4 disk. The system will come up
cleanly. Despite the fact that the date command
in SunOS 4.1.4 cannot set a modern year, the
operating system has no trouble using one. Once
you are logged back in, issue the date command
and you will see something like:
Thu Apr 9 12:26:41 MDT 2026
SunOS 4.1.4 happily displays and operates with a
modern date. The only thing it cannot do is write
one through its own date command.
Why This Works
The Solaris 2.6 installer writes the date directly to the TOD hardware early in its setup process. This overwrites the corrupted value that SunOS 4.1.4 left behind. Once the TOD chip contains a valid date again, SunOS 4.1.4 is perfectly happy to boot and will keep time correctly going forward.
A Note on Patches
There is supposedly a patch for SunOS 4.1.4 that
addresses the two-digit year limitation in the
date command. I have never been able to locate a
working copy of this patch, and references to it
online are scarce. If you happen to have it or know
where to find it, I would be interested to hear
about it through the contact link above.
In the meantime, the Solaris 2.6 installer trick is a reliable and repeatable way to solve the problem without needing any patches at all.