summaryrefslogtreecommitdiffstats
path: root/remote/rootfs
diff options
context:
space:
mode:
Diffstat (limited to 'remote/rootfs')
-rw-r--r--remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service4
-rw-r--r--remote/rootfs/rootfs-stage32/data/opt/openslx/bin/nettime22
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
+