<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-scripts-setclock">
  <?dbhtml filename="setclock.html"?>

  <title>Configuring the setclock Script</title>

  <indexterm zone="ch-scripts-setclock">
    <primary sortas="d-setclock">setclock</primary>
  <secondary>configuring</secondary></indexterm>

  <para>The <command>setclock</command> script reads the time from the hardware
  clock, also known as the BIOS or the Complementary Metal Oxide Semiconductor
  (CMOS) clock. If the hardware clock is set to UTC, this script will convert the
  hardware clock's time to the local time using the
  <filename>/etc/localtime</filename> file (which tells the
  <command>hwclock</command> program which timezone the user is in). There is no
  way to detect whether or not the hardware clock is set to UTC, so this
  needs to be configured manually.</para>

  <para>The <command>setclock</command> is run via
  <application>udev</application> when the kernel detects the hardware
  capability upon boot.  It can also be run manually with the stop parameter to
  store the system time to the CMOS clock.</para>

  <para>If you cannot remember whether or not the hardware clock is set to UTC,
  find out by running the <userinput>hwclock --localtime --show</userinput>
  command. This will display what the current time is according to the hardware
  clock. If this time matches whatever your watch says, then the hardware clock is
  set to local time. If the output from <command>hwclock</command> is not local
  time, chances are it is set to UTC time. Verify this by adding or subtracting
  the proper amount of hours for the timezone to the time shown by
  <command>hwclock</command>. For example, if you are currently in the MST
  timezone, which is also known as GMT -0700, add seven hours to the local
  time.</para>

  <para>Change the value of the <envar>UTC</envar> variable below
  to a value of <parameter>0</parameter> (zero) if the hardware clock
  is <emphasis>not</emphasis> set to UTC time.</para>

  <para>Create a new file <filename>/etc/sysconfig/clock</filename> by running
  the following:</para>

<screen><userinput>cat &gt; /etc/sysconfig/clock &lt;&lt; "EOF"
<literal># Begin /etc/sysconfig/clock

UTC=1

# Set this to any options you might need to give to hwclock,
# such as machine hardware clock type for Alphas.
CLOCKPARAMS=

# End /etc/sysconfig/clock</literal>
EOF</userinput></screen>

  <para>A good hint explaining how to deal with time on LFS is available
  at <ulink url="&hints-root;time.txt"/>. It explains issues such as
  time zones, UTC, and the <envar>TZ</envar> environment variable.</para>

  <note><para>The CLOCKPARAMS and UTC paramaters may be alternatively set
  in the <filename>/etc/sysconfig/rc.site</filename> file.</para></note>

</sect1>
