diff options
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-support/chrony/chrony')
3 files changed, 165 insertions, 0 deletions
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch new file mode 100644 index 000000000..92a2dbd93 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch @@ -0,0 +1,63 @@ + chrony: fix build failure for arma9 + + Eliminate references to syscalls not available + for ARM_EABI. Also add a dependency on libseccomp + which is needed for scfilter to work. + + Set PACKAGECONFIG to not enable scfilter, since + kernel CONFIG_SECCOMP is unlikely to be set. This + aligns the usage of libseccomp with that of other packages. + + Upstream-Status: Pending + + Signed-off-by: Joe Slater <jslater@windriver.com> + + Refresh patch for new upstream version. + + Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> + +--- a/sys_linux.c ++++ b/sys_linux.c +@@ -465,14 +465,14 @@ SYS_Linux_EnableSystemCallFilter(int lev + const int syscalls[] = { + /* Clock */ + SCMP_SYS(adjtimex), SCMP_SYS(clock_gettime), SCMP_SYS(gettimeofday), +- SCMP_SYS(settimeofday), SCMP_SYS(time), ++ SCMP_SYS(settimeofday), + /* Process */ + SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getpid), +- SCMP_SYS(getrlimit), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn), ++ SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn), + SCMP_SYS(rt_sigprocmask), SCMP_SYS(set_tid_address), SCMP_SYS(sigreturn), + SCMP_SYS(wait4), + /* Memory */ +- SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap), SCMP_SYS(mmap2), ++ SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap2), + SCMP_SYS(mprotect), SCMP_SYS(mremap), SCMP_SYS(munmap), SCMP_SYS(shmdt), + /* Filesystem */ + SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown), SCMP_SYS(chown32), +@@ -483,14 +483,21 @@ + SCMP_SYS(bind), SCMP_SYS(connect), SCMP_SYS(getsockname), + SCMP_SYS(recvfrom), SCMP_SYS(recvmmsg), SCMP_SYS(recvmsg), + SCMP_SYS(sendmmsg), SCMP_SYS(sendmsg), SCMP_SYS(sendto), +- /* TODO: check socketcall arguments */ +- SCMP_SYS(socketcall), + /* General I/O */ + SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe), +- SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex), SCMP_SYS(select), ++ SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex), + SCMP_SYS(set_robust_list), SCMP_SYS(write), + /* Miscellaneous */ + SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname), ++ /* not always available */ ++#if ! defined(__ARM_EABI__) ++ SCMP_SYS(time), ++ SCMP_SYS(getrlimit), ++ SCMP_SYS(select), ++ SCMP_SYS(mmap), ++ /* TODO: check socketcall arguments */ ++ SCMP_SYS(socketcall), ++#endif + }; + + const int socket_domains[] = { diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf new file mode 100644 index 000000000..8d226d31a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf @@ -0,0 +1,44 @@ +# Use public NTP servers from the pool.ntp.org project. +# Please consider joining the pool project if possible by running your own +# server(s). +# If you are a vendor distributing a product using chrony, you *MUST* +# read and comply with http://www.pool.ntp.org/vendors.html +pool 0.openembedded.pool.ntp.org iburst + +# Use a local timeserver in preference to the pool, if it's reachable. +#server 192.168.22.22 iburst minpoll 2 prefer + +# Sync to pulse-per-second from an onboard GPS. +#refclock PPS /dev/pps0 poll 0 prefer +# You'll want to enable CONFIG_PPS and CONFIG_PPS_CLIENT_GPIO in your kernel, +# and an entry something like this in your device tree: +# pps { +# compatible = "pps-gpio"; +# gpios = <&ps7_gpio_0 56 0>; +# }; + +# In first three updates step the system clock instead of slew +# if the adjustment is larger than 1 second. +makestep 1.0 3 + +# Record the rate at which the system clock gains/loses time, +# improving accuracy after reboot +driftfile /var/lib/chrony/drift + +# Enable kernel synchronization of the hardware real-time clock (RTC). +rtcsync + +# Allow NTP client access from local network. +#allow 192.168/16 + +# Serve time even if not synchronized to any NTP server. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +#keyfile /etc/chrony.keys + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chronyd b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chronyd new file mode 100644 index 000000000..04f1b681c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chronyd @@ -0,0 +1,58 @@ +#! /bin/sh + +# System V init script for chrony +# Adapted from the script already in meta-networking for ntpd + +### BEGIN INIT INFO +# Provides: chrony +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Start chrony time daemon +### END INIT INFO + +PATH=/sbin:/bin:/usr/bin:/usr/sbin + +DAEMON=/usr/sbin/chronyd +PIDFILE=/var/run/chronyd.pid + +test -x $DAEMON -a -r /etc/chrony.conf || exit 0 + +# Source function library. +. /etc/init.d/functions + +# Functions to do individual actions +startdaemon(){ + echo -n "Starting chronyd: " + start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- "$@" + echo "done" +} +stopdaemon(){ + echo -n "Stopping chronyd: " + start-stop-daemon --stop --quiet --oknodo -p $PIDFILE + echo "done" +} + +case "$1" in + start) + startdaemon + ;; + stop) + stopdaemon + ;; + force-reload | restart | reload) + stopdaemon + startdaemon + ;; + status) + status /usr/sbin/chronyd; + exit $? + ;; + *) + echo "Usage: chronyd { start | stop | status | restart | reload }" >&2 + exit 1 + ;; +esac + +exit 0 |