Fix for system BOOT date&time, all SysV systems

Thad P Floryan thad at cup.portal.com
Fri Dec 29 19:00:12 AEST 1989


Fix for system BOOT date & time, all SysV systems --

In case your SysV system has NOT been showing the correct BOOT date&time
(such as that displayed by `who -r`), or your sysinfo daemon(s) are also off
(such that they show the date&time of the last SHUTDOWN), the fix is simple.

Yeah, I finally read the FM!  :-)   Specifically, the UNIX System V Release
3.2 System Administrator's Guide and the Reference Manual.

In the absence of the following "fixes", it "appears" the boot date&time is
derived from the last update date&time on /etc/inittab, even if one's /etc/rc
script has command(s) to set the present date&time.

The solution is simple in retrospect (after eleventy-seven reboots and fixing
some stooopid typos on my part):

1) edit /etc/inittab and insert an entry as "sysinit" to invoke /etc/setclk
2) create an /etc/setclk script to actually set the timezone and date&time.
   Systems without a battery-backed clock may wish to interrogate the console.
3) remove any date&time setting from /etc/rc

Gee, reading inittab(4) is quite interesting.  Actions such as "respawn",
"wait", "once", "boot", "bootwait", "powerfail", "powerwait", "off",
"ondemand", "initdefault" and "sysinit".  And explanations of the pseudo
run-levels "a", "b" and "c".  I should take a vacation more often and read
the other 15 or so volumes of SysV docs.  :-)

Though my system is a 3B1 (aka UNIXPC), this info should benefit all SysV
system administrators/operators.  Enclosed are the relevant files and/or
changes as presently implemented on my test system and also now implemented
on my "production" systems:

1) /etc/inittab  (the "sysinit) entry is added (for the 3B1); its /etc/init
   does everything as documented in the SysV3.2 manual.  Note the "uugetty"
   entries are relevant ONLY if one has HDB BNU; otherwise the entries
   should resemble the item for " vid:2:respawn:/etc/getty ..." for the
   version 2 UUCP software suite.  And note one CAN safely edit the file.
   Any finally note that the /etc/inittab for 3B2 systems may already have
   similar "sysinit" entries; doesn't hurt to check if you're not sure.

	:sccs	"@(#)fndetc:inittab	1.2"
	: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	: DO NOT EDIT THIS FILE!!! IT IS PROGRAM-MODIFIED!!!!!
	:
	: The following states are used :
	:	s = single user
	:	2 = general single or multiple user mode
	: REPEAT:  DO NOT EDIT THIS FILE!!! IT IS PROGRAM-MODIFIED!!!!!
	ck::sysinit:/etc/setclk > /dev/null 2>&1
	is:2:initdefault:
	rc::bootwait:/etc/rc > /dev/null 2>&1
	 vid:2:respawn:/etc/getty window 9600
	:ph0:2:respawn:/usr/lib/uucp/uugetty -r -t60 ph0 1200
	:ph1:2:respawn:/etc/getty ph1 1200
	 000:2:respawn:/usr/lib/uucp/uugetty -r -t60 tty000 9600
	 001:2:respawn:/usr/lib/uucp/uugetty -r -t60 tty001 9600
	 002:2:respawn:/usr/lib/uucp/uugetty -r -t60 tty002 9600

2) /etc/setclk (new script created by me).  Note the "chmod" settings.  One
   could change the { TZ="PST8PDT } to be { TZ=`cat /etc/TZ` }, but all this
   is happening before the initial fsck and I *like* to have my clock set
   correctly even if the disk suffers bit decay and software rot!  :-)
   Uh, the "PST8PDT" is good for the West Coast; change as appropriate for
   your site's location:

	# cd /etc
	# ls -l setclk
	-rwxr-xr-x  1 root    root         30 Dec 28 22:00 setclk
	# cat setclk
	TZ="PST8PDT";export TZ
	date -
	#

3) comment-out any "setclk" or "date -" in the /etc/rc file.  You should
   probably leave in any "TZ=...." stuff because I haven't tested whether
   the setting in /etc/setclk is sufficient; 20 reboots in one day is enough
   for me.  :-)

Thad Floryan [ thad at cup.portal.com (OR) ..!sun!portal!cup.portal.com!thad ]



More information about the Unix-pc.general mailing list