for C-family shells.
If the software cannot (yet) be built on your system, an error message
-will be shown. Otherwise, the files `options.h' and `Makefile' will
-be generated.
+will be shown. Otherwise, `Makefile' will be generated.
-By default, chronyc will be built to make use of the readline library. If you
-don't want this, specify the --disable-readline flag to configure. If you have
-readline and/or ncurses installed in a non-standard location, please refer to
-the chrony.txt file for information.
+If editline or readline library is available, chronyc will be built
+with line editing support. If you don't want this, specify the
+--disable-readline flag to configure. Please refer to the chrony.txt
+file for more information.
+
+If a `timepps.h' header is available, chronyd will be built with PPS
+API reference clock driver. If the header is installed in a location
+that isn't normally searched by the compiler, you can add it to the
+searched locations by setting CPPFLAGS variable to -I/path/to/timepps.
Now type
+New in version 1.24
+===================
+
+* Support for reference clocks (SHM, SOCK, PPS drivers)
+* IPv6 support
+* Linux capabilities support (to drop root privileges)
+* Memory locking support on Linux
+* Real-time scheduler support on Linux
+* Leap second support on Linux
+* Support for editline
+* Various bug fixes and improvements
+
New in version 1.23
===================
gains or loses time and uses this information to keep it accurate
between measurements from the reference.
-The reference time can be derived from either Network Time Protocol
-(NTP) servers (preferred), or wristwatch-and-keyboard (via chronyc).
+The reference time can be derived from Network Time Protocol (NTP)
+servers, reference clocks, or wristwatch-and-keyboard (via chronyc).
The main source of information about the Network Time Protocol is
http://www.eecis.udel.edu/~ntp.
use a dial-up account to access the Internet. Of course, it will work
on computers with permanent connections too.
-In addition, the Linux 2.0.x (for x >= 32), 2.2.x and 2.3.x versions
-can monitor the system's real time clock performance, so the system
-can maintain accurate time even across reboots.
+In addition, on Linux it can monitor the system's real time clock
+performance, so the system can maintain accurate time even across
+reboots.
Typical accuracies available between 2 machines are
On a V32bis dial-up modem connection : 10's of milliseconds (from one
session to the next)
+With a good reference clock the accuracy can reach one microsecond.
+
chronyd can also operate as an RFC1305-compatible NTP server and peer.
Chrony can be successfully built and run on
-1. Linux v1.2.13, v2.0.x, 2.1.x (partially), 2.2.x, 2.3.x, 2.4.x (i386).
-Real time clock support is limited to 2.0.32 onwards and to 2.2, 2.3 and
-2.4 series only. PowerPC is also known to be supported.
+1. Linux v1.2.13, v2.0.x, 2.1.x (partially), 2.2.x, 2.3.x, 2.4.x, 2.6.x.
+Real time clock support is limited to 2.0.32 onwards and to 2.2, 2.3,
+2.4 and 2.6 series only. i386, x86_64, PowerPC are known to be
+supported.
2. Solaris 2.5/2.5.1/2.6/2.7/2.8 (various platforms)
The file INSTALL gives instructions. On supported systems the
compilation process should be automatic.
-You will need an ANSI C compiler -- gcc is recommended. Versions
-2.7.2/2.7.2.2 are known to work.
+You will need an ANSI C compiler -- gcc is recommended.
The manual (in texinfo and text formats) describes how to set the
software up for the less straightforward cases.
=======================
Compared to the `reference' RFC1305 implementation xntpd, chronyd does
-not support hardware reference clocks or broadcast modes.
+not support broadcast modes.
Where are new versions announced?
=================================
general questions and answers about using chrony. chrony-dev is a more
technical list, e.g. for discussing how new features should be
implemented, exchange of information between developers etc. To
-subscribe to either of these lists, send amessage with the subject
+subscribe to either of these lists, send a message with the subject
"subscribe" to
chrony-users-request@chrony.tuxfamily.org
as applicable.
-Note that due to family commitments (a 3 year-old and a 1 year-old), I
-no longer have the time to give to supporting chrony that I once had.
-Therefore, the chrony-users list should be your main route for support,
-rather than mailing me directly. Even if it's me that responds to your
-question on the list, at least *ALL* subscribers then benefit from
-seeing the discussion, rather than me taking up lots of time on
-supporting people on a one-to-one basis. If you do mail me directly,
-don't be surprised if I cc: the response to the mailing list.
-But how can I contact the author if I need to?
-==============================================
+Author
+======
+
+Richard P. Curnow <rc@rc0.org.uk>
-You can email me at <rc@rc0.org.uk>. If that fails, you could try to
-find me through one of the mailing lists. It would be nice if:
-- you include the word 'chrony' in the subject line (so my mail reader
-can sort my mail by topic)
+Maintainers
+===========
+
+John Hasler <john@dhh.gt.org>
+Miroslav Lichvar <mlichvar@redhat.com>
-- you don't send complete log files, encoded binaries etc, without
-editing such material down to just the relevant bits - a few tens of
-lines at most. (My dial-up connection handles large messages rather
-slowly ...).
Acknowledgements
================
sizeof(unsigned long) > 4)
Bug fix to initstepslew directive
Fix to remove potential buffer overrun errors.
+ Memory locking and real-time scheduler support
+ Fix fault where chronyd enters an endless loop
Liam Hatton <me@liamhatton.com>
Advice on configuring for Linux on PPC
Antti Jrvinen <costello@iki.fi>
Advice on configuring for BSD/386
+Miroslav Lichvar <mlichvar@redhat.com>
+ Reference clock support
+ IPv6 support
+ Linux capabilities support
+ Leap second support
+ Various bug fixes and improvements
+
Victor Moroz <vim@prv.adlum.ru>
Patch to support Linux with HZ!=100
Andreas Piesk <apiesk@virbus.de>
Patch to make chronyc use the readline library if available
+Timo Teras <timo.teras@iki.fi>
+ Patch to reply correctly on multihomed hosts
+
Wolfgang Weisselberg <weissel@netcologne.de>
Entries in contrib directory
Many other people have contributed bug reports and suggestions. I'm
sorry I can't identify all of you individually.
-Version control information
-===========================
-
-$Header: /cvs/src/chrony/README,v 1.30 2003/09/21 23:11:06 richard Exp $
-
vim:tw=72
The software is known to work in the following environments:
@itemize @bullet
-@item Linux/i386 and Linux/ppc. The software is known to work on Linux 2.0.x,
-2.2.x and 2.4.x. Prior to 2.0.31, the real time clock can't be used.
+@item Linux on i386, x86_64 and PowerPC architectures. The software is known
+to work on Linux 2.0.x and newer. Prior to 2.0.31, the real time clock can't
+be used.
@item NetBSD
@item BSD/386
@node Bug reporting
@section Bug reporting and suggestions
-If you think you've found a bug in chrony, or have a suggestion, please let me
-know. My primary current email address is @email{rc@@rc0.org.uk}. If that
-fails, you could try finding me through one of the chrony mailing lists, or by
-looking up my name on a search engine.
+If you think you've found a bug in chrony, or have a suggestion, please let us
+know. You can join chrony users mailing list by sending a message with the
+subject subscribe to @email{chrony-users-request@@chrony.tuxfamily.org}. Only
+subscribers can post to the list.
-I can't promise a timescale to fix a bug; it depends a lot on the how complex
-the bug is to track down, as I have a lot of other calls on my time : 2 young
-children, my job, and indeed other free/open source software projects.
-However, I do intend to look into problems when time allows.
-
-Another source of information to try is the chrony users mailing list. You can
-join this by sending a message with the subject subscribe to
-@email{chrony-users-request@@chrony.tuxfamily.org}. Only subscribers can post to
-the list.
-
-When you are reporting a bug, please send me all the information you can.
+When you are reporting a bug, please send us all the information you can.
Unfortunately, chrony has proven to be one of those programs where it is very
-difficult to reproduce bugs in a different environment. So I may have to
+difficult to reproduce bugs in a different environment. So we may have to
interact with you quite a lot to obtain enough extra logging and tracing to
pin-point the problem in some cases. Please be patient and plan for this!
-Of course, if you can debug the problem yourself and send me a source code
-patch to fix it, I will be very grateful!
+Of course, if you can debug the problem yourself and send us a source code
+patch to fix it, we will be very grateful!
@c }}}
@c {{{ S:Contributions
areas that could be improved. If you can program in C and have some expertise
in these areas, you might be able to fill the gaps.
-Particular areas I know need addressing are :
+Particular areas that need addressing are :
@enumerate
@item Porting to other Unices
bootstrap.
@end enumerate
-@item Hardware clock support
+@item More drivers for reference clock support
@item Automation of the trimrtc and writertc mechanisms
for C-family shells.
If the software cannot (yet) be built on your system, an error message
-will be shown. Otherwise, the files @file{options.h} and
-@file{Makefile} will be generated.
+will be shown. Otherwise, @file{Makefile} will be generated.
+
+If editline or readline library is available, chronyc will be built with line
+editing support. If you don't want this, specify the --disable-readline flag
+to configure. Please refer to @pxref{line editing support} for more information.
-By default, chronyc will be built to make use of the readline library. If you
-don't want this, specify the --disable-readline flag to configure. If you have
-readline and/or ncurses installed in a non-standard location, please refer to
-@pxref{readline support} for information.
+If a @file{timepps.h} header is available, chronyd will be built with PPS API
+reference clock driver. If the header is installed in a location that isn't
+normally searched by the compiler, you can add it to the searched locations by
+setting @code{CPPFLAGS} variable to @code{-I/path/to/timepps}.
Now type
are described in the following section of the document.
@c }}}
@menu
-* readline support:: If readline or ncurses in in a non-standard place
+* line editing support:: If libraries are in a non-standard place
* package builders:: Extra options useful to package builders
@end menu
-@c {{{ readline support
-@node readline support
-@section Support for the readline library
-By default, chronyc is built to make use of the readline library. This allows
-you to use the cursor keys to replay and edit old commands. If you don't want
-to use readline (in which case chronyc will use a minimal command line
-interface), invoke configure like this:
+@c {{{ line editing support
+@node line editing support
+@section Support for line editing libraries
+Chronyc can be built with support for line editing, this allows you to use the
+cursor keys to replay and edit old commands. Two libraries are supported which
+provide such functionality, editline and GNU readline.
+
+Please note that readline since version 6.0 is licensed under GPLv3+ which is
+incompatible with chrony's license GPLv2. You should use editline instead if
+you don't want to use older readline versions.
+
+The configure script will automatically enable the line editing support if one
+of the supported libraries is available. If they are both available, the
+editline library will be used.
+
+If you don't want to use it (in which case chronyc will use a minimal command
+line interface), invoke configure like this:
@example
./configure --disable-readline other-options...
@end example
-If you have readline and/or ncurses installed in locations that aren't normally searched by the compiler and linker, you need extra options if you want readline to be used:
+If you have editline, readline or ncurses installed in locations that aren't
+normally searched by the compiler and linker, you need to use extra options:
@table @samp
@item --with-readline-includes=directory_name
This defines the name of the directory above the one where @file{readline.h}
-is. @file{readline.h} is assumed to be in a @file{readline} subdirectory of
-the named directory.
+is. @file{readline.h} is assumed to be in @file{editline} or @file{readline}
+subdirectory of the named directory.
@item --with-readline-library=directory_name
-This defines the directory containing the @file{libreadline.a} or
-@file{libreadline.so} file.
+This defines the directory containing the @file{libedit.a} or @file{libedit.so}
+file, or @file{libreadline.a} or @file{libreadline.so} file.
@item --with-ncurses-library=directory_name
This defines the directory containing the @file{libncurses.a} or