1.\" Copyright (C) 1993 by Andrew A. Chernov, Moscow, Russia.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd December 15, 1993
26.Dt ADJKERNTZ 8
27.Os FreeBSD
28.Sh NAME
29.Nm adjkerntz
30.Nd "adjusts the kernel time if the machine runs wall CMOS clock"
31.Sh SYNOPSIS
32.Nm adjkerntz
33.Fl i
34.Nm adjkerntz
35.Fl a
36.Sh DESCRIPTION
37.Nm Adjkerntz
38fixes kernel time (makes it UTC) using the current wall CMOS clock value,
39the current time zone rule and the kernel timezone value. The adjustment is
40enabled only if the file
41.Pa /etc/wall_cmos_clock
42exists, in other cases it is assumed that the machine runs UTC CMOS clock and
43.Nm adjkerntz
44does nothing.
45.Pp
46The adjustment is needed at boot stage and when a time zone
47change occurs, so
48.Nm adjkerntz
49can be called in two forms:
50.Bl -tag -width 4n
51.It Cm Fl i
52initialization call from
53.Pa /etc/rc
54(before any daemons are started).
55.Nm Adjkerntz
56makes the adjustment of kernel clock (CMOS clock not touched)
57and the initial time zone offset is stored into
58.Pa adjkerntz
59kernel variable
60for following subsequent
61.Nm "'adjkerntz -a'"
62calls. Then it goes to background pause which ends with SIGTERM.
63After receiving SIGTERM it acts like
64.Nm "'adjkerntz -a'"
65to be shure to have proper CMOS clock before reboot.
66.It Cm Fl a
67This form is needed, when time zone changes occur.
68.Nm Adjkerntz
69uses the previously stored
70time zone offset and the changed time zone rule to
71produce the new time zone offset, fix the CMOS clock
72(kernel clock not touched)
73and store the new
74offset into
75.Pa adjkerntz
76kernel variable
77too.
78It is recommended to use this form in root's
79.Xr crontab 5
80every half of a hour from 0am to 4am
81since this times matches most modern time zone changes.
82.El
83.Pp
84.Nm Adjkerntz
85clears the kernel timezone structure and makes kernel always run at UTC
86time zone.
87Super-user privilege is required for all operations.
88.Sh ENVIRONMENT
89.Bl -tag -width Fl
90.It Ev TZ
91Time zone change rule, see
92.Xr tzset 3 ;
93not needed when
94.Xr /usr/sbin/tzsetup
95or
96.Xr zic 8
97is used.
98.Sh FILES
99.Bl -tag -width /etc/wall_cmos_clock -compact
100.It Pa /etc/localtime
101Current zoneinfo file, see
102.Xr /usr/sbin/tzsetup
103and
104.Xr zic 8 .
105.It Pa /etc/wall_cmos_clock
106Empty file.
107Presence of it indicates that the machine runs wall CMOS clock,
108absence indicates UTC CMOS clock.
109.Sh SEE ALSO
110.Xr tzset 3 ,
111.Xr zic 8 ,
112.Xr rc 8 ,
113.Xr crontab 5 ,
114.Xr sysctl 8 ,
115.Xr /usr/sbin/tzsetup
116.Sh DIAGNOSTICS
117No diagnostics.
118If any error occurs, an error message printed via
119.Xr syslog 3
120and
121.Nm adjkerntz
122exits with return code greater than zero.
123.Sh AUTHOR
124Andrew A. Chernov <ache@astral.msk.su>
125.Sh HISTORY
126The
127.Nm adjkerntz
128command appeared in FreeBSD 1.0.1
129
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd December 15, 1993
26.Dt ADJKERNTZ 8
27.Os FreeBSD
28.Sh NAME
29.Nm adjkerntz
30.Nd "adjusts the kernel time if the machine runs wall CMOS clock"
31.Sh SYNOPSIS
32.Nm adjkerntz
33.Fl i
34.Nm adjkerntz
35.Fl a
36.Sh DESCRIPTION
37.Nm Adjkerntz
38fixes kernel time (makes it UTC) using the current wall CMOS clock value,
39the current time zone rule and the kernel timezone value. The adjustment is
40enabled only if the file
41.Pa /etc/wall_cmos_clock
42exists, in other cases it is assumed that the machine runs UTC CMOS clock and
43.Nm adjkerntz
44does nothing.
45.Pp
46The adjustment is needed at boot stage and when a time zone
47change occurs, so
48.Nm adjkerntz
49can be called in two forms:
50.Bl -tag -width 4n
51.It Cm Fl i
52initialization call from
53.Pa /etc/rc
54(before any daemons are started).
55.Nm Adjkerntz
56makes the adjustment of kernel clock (CMOS clock not touched)
57and the initial time zone offset is stored into
58.Pa adjkerntz
59kernel variable
60for following subsequent
61.Nm "'adjkerntz -a'"
62calls. Then it goes to background pause which ends with SIGTERM.
63After receiving SIGTERM it acts like
64.Nm "'adjkerntz -a'"
65to be shure to have proper CMOS clock before reboot.
66.It Cm Fl a
67This form is needed, when time zone changes occur.
68.Nm Adjkerntz
69uses the previously stored
70time zone offset and the changed time zone rule to
71produce the new time zone offset, fix the CMOS clock
72(kernel clock not touched)
73and store the new
74offset into
75.Pa adjkerntz
76kernel variable
77too.
78It is recommended to use this form in root's
79.Xr crontab 5
80every half of a hour from 0am to 4am
81since this times matches most modern time zone changes.
82.El
83.Pp
84.Nm Adjkerntz
85clears the kernel timezone structure and makes kernel always run at UTC
86time zone.
87Super-user privilege is required for all operations.
88.Sh ENVIRONMENT
89.Bl -tag -width Fl
90.It Ev TZ
91Time zone change rule, see
92.Xr tzset 3 ;
93not needed when
94.Xr /usr/sbin/tzsetup
95or
96.Xr zic 8
97is used.
98.Sh FILES
99.Bl -tag -width /etc/wall_cmos_clock -compact
100.It Pa /etc/localtime
101Current zoneinfo file, see
102.Xr /usr/sbin/tzsetup
103and
104.Xr zic 8 .
105.It Pa /etc/wall_cmos_clock
106Empty file.
107Presence of it indicates that the machine runs wall CMOS clock,
108absence indicates UTC CMOS clock.
109.Sh SEE ALSO
110.Xr tzset 3 ,
111.Xr zic 8 ,
112.Xr rc 8 ,
113.Xr crontab 5 ,
114.Xr sysctl 8 ,
115.Xr /usr/sbin/tzsetup
116.Sh DIAGNOSTICS
117No diagnostics.
118If any error occurs, an error message printed via
119.Xr syslog 3
120and
121.Nm adjkerntz
122exits with return code greater than zero.
123.Sh AUTHOR
124Andrew A. Chernov <ache@astral.msk.su>
125.Sh HISTORY
126The
127.Nm adjkerntz
128command appeared in FreeBSD 1.0.1
129