瀏覽代碼

ntp: add /etc/default/ntpd to control whether to start
ntpd and/or ntpdate. Also specify options and servers.

Wade Berrier 16 年之前
父節點
當前提交
8586e2a51b
共有 3 個文件被更改,包括 25 次插入3 次删除
  1. 4 0
      package/ntp/ntp.mk
  2. 12 3
      package/ntp/ntp.sysvinit
  3. 9 0
      package/ntp/ntpd.etc.default

+ 4 - 0
package/ntp/ntp.mk

@@ -67,6 +67,10 @@ ifeq ($(BR2_PACKAGE_NTP_SNTP),y)
 	install -m 755 $(NTP_DIR)/sntp/sntp $(TARGET_DIR)/usr/bin/sntp
 endif
 	install -m 755 package/ntp/ntp.sysvinit $(TARGET_DIR)/etc/init.d/S49ntp
+	@if [ ! -f $(TARGET_DIR)/etc/default/ntpd ]; then \
+		install -m 755 -d $(TARGET_DIR)/etc/default ; \
+		install -m 644 package/ntp/ntpd.etc.default $(TARGET_DIR)/etc/default/ntpd ; \
+	fi
 
 ntp: uclibc $(TARGET_DIR)/$(NTP_TARGET_BINARY)
 

+ 12 - 3
package/ntp/ntp.sysvinit

@@ -9,6 +9,7 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 DESC="network time protocol daemon"
 NAME=ntpd
 DAEMON=/usr/sbin/$NAME
+NTPDATE_BIN=/usr/bin/ntpdate
 
 # Gracefully exit if the package has been removed.
 test -x $DAEMON || exit 0
@@ -20,9 +21,17 @@ then
 fi
 
 case "$1" in
-  start) echo -n "Starting $DESC: $NAME"
-	start-stop-daemon -S -q -x $DAEMON
-	echo "."
+  start)
+	if test x$NTPDATE = xyes ; then
+		echo -n "Getting initial time via ntp"
+		$NTPDATE_BIN $NTPDATE_OPTS $NTPSERVERS > /dev/null 2>&1
+		echo "."
+	fi
+	if test x$NTPD = xyes ; then
+		echo -n "Starting $DESC: $NAME"
+		start-stop-daemon -S -q -x $DAEMON
+		echo "."
+	fi
 	;;
   stop) echo -n "Stopping $DESC: $NAME"
 	start-stop-daemon -K -q -n $NAME

+ 9 - 0
package/ntp/ntpd.etc.default

@@ -0,0 +1,9 @@
+# NTP Servers to use for ntpdate
+NTPSERVERS="pool.ntp.org"
+
+# Get initial time via ntpdate?
+NTPDATE=no
+NTPDATE_OPTS="-t 5"
+
+# Start the ntp daemon?
+NTPD=yes