diff options
Diffstat (limited to 'remote/rootfs')
| -rw-r--r-- | remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service | 4 | ||||
| -rw-r--r-- | remote/rootfs/rootfs-stage32/data/opt/openslx/bin/nettime | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service index 3fb2acc0..b1e80e63 100644 --- a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service +++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service @@ -5,4 +5,6 @@ Requires=network.target [Service] Type=oneshot -ExecStart=/usr/sbin/ntpdate time.uni-freiburg.de +RemainAfterExit=yes +ExecStart=ntpdate -u -b time.uni-freiburg.de && hwclock --localtime -w + diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/nettime b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/nettime new file mode 100644 index 00000000..3ca13931 --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/nettime @@ -0,0 +1,22 @@ +#!/bin/sh + +. /opt/openslx/config || { echo "Could not source config!"; exit 1; } +SLX_NTP_SERVER="$SLX_NTP_SERVER time.uni-freiburg.de 0.de.pool.ntp.org" +for SERVER in $SLX_NTP_SERVER; do + if ntpdate -u -b "$SERVER"; then + echo "Successfully queried $SERVER for time." + if [ "x$SLX_BIOS_CLOCK" = "xlocal" ]; then + sleep 1 + hwclock -l -w || echo "... but could not set BIOS clock to localtime" + elif [ "x$SLX_BIOS_CLOCK" = "xutc" ]; then + sleep 1 + hwclock -u -w || echo "... but could not set BIOS clock to UTC" + fi + exit 0 + fi + echo "Error querying $SERVER for current time" +done + +echo "No more servers to try. No NTP server was reachable." >&2 +exit 1 + |
