blob: a7ea9f2b6578c812add2bb99aa7e1749e524e157 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
<sect1 id="ch07-setclock">
<title>Creating the setclock script</title>
<para>The following script is only for real use when the hardware clock (also
known as BIOS or CMOS clock) isn't set to GMT time. The recommended
setup is setting the hardware clock to GMT and having the time converted
to localtime using the /etc/localtime symbolic link. But if an
OS is run that doesn't understand a clock set to GMT (most notable are
Microsoft OS'es) a user might want to set the clock to localtime so that
the time is properly displayed on those OS'es. This script will reset
the kernel time to the hardware clock without converting the time using
the /etc/localtime symlink.</para>
<para>If you want to use this script on your system even if the
hardware clock is set to GMT, then the UTC variable below has to be
changed to the value of <emphasis>1</emphasis>.</para>
<para>Create the <filename>/etc/init.d/setclock</filename> script by running
the following command:</para>
<para><screen><userinput>cat > setclock << "EOF"</userinput>
#!/bin/sh
# Begin /etc/init.d/setclock
#
# Include the functions declared in the /etc/init.d/functions file
# and include the variables from the /etc/sysconfig/clock file
#
source /etc/init.d/functions
source /etc/sysconfig/clock
#
# Right now we want to set the kernel clock according to the hardware
# clock, so we use the -hctosys parameter.
#
CLOCKPARAMS="--hctosys"
#
# If the UTC variable is set in the /etc/sysconfig/clock file, add the
# -u parameter as well which tells hwclock that the hardware clock is
# set to UTC time instead of local time.
#
case "$UTC" in
yes|true|1)
CLOCKPARAMS="$CLOCKPARAMS --utc"
;;
no|false|0)
CLOCKPARAMS="$CLOCKPARAMS --localtime"
;;
esac
echo -n "Setting clock..."
/sbin/hwclock $CLOCKPARAMS
evaluate_retval
# End /etc/init.d/setclock
<userinput>EOF</userinput></screen></para>
<sect2>
<title>Creating the /etc/sysconfig/clock file</title>
<para>Create a new file <filename>/etc/sysconfig/clock</filename> by running
the following:</para>
<para><screen><userinput>cat > /etc/sysconfig/clock << "EOF"</userinput>
# Begin /etc/sysconfig/clock
UTC=1
# End /etc/sysconfig/clock
<userinput>EOF</userinput></screen></para>
<para>If the hardware clock (also known as BIOS or CMOS clock) is not set to
GMT time, then the UTC variable in the /etc/sysconfig/clock file needs to be
set to the value <emphasis>0</emphasis> (zero).</para>
<para>Now, you may want to take a look at a very good hint explaining how we
deal with time on LFS at <ulink
url="http://archive.linuxfromscratch.org/lfs-hints/time.txt">http://archive.linuxfromscratch.org/lfs-hints/time.txt</ulink>.
It explains issues such as timezones, UTC, and the TZ
environment variable.</para>
</sect2>
</sect1>
|