Listing 2
# alt: # dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk02p2 rootfstype=ext4 elevator=deadline rootwait # neu: dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk02p2 rootfstype=ext4 elevator=deadline
Listing 3
#Spawn a getty on Raspberry Pi serial line #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
NTP-Daemon vorbereiten
Um den NTP-Daemon einzurichten, installieren Sie mithilfe des Paketmanagers aus den Raspbian-Repositories die beiden Pakete ntp und ntpdate:
$ sudo apt-get install ntp ntpdate
Der NTP-Daemon versucht, auf etwaige Zeitnormalen grundsätzlich über eine der vier möglichen Zeitnormal-Gerätedateien /dev/refclock-0 bis /dev/refclock-3 zuzugreifen. Eine davon gilt es per symbolischen mit der seriellen Schnittstelle zu verbinden, am besten direkt im Start-Skript des NTP-Daemons (siehe Listing 4, Zeile 10).
Der NTP-Daemon läuft mit den Benutzer/Gruppen-Rechten ntp/ntp, die serielle Schnittstelle wird beim Systemstart aber mit den Rechten root/tty angelegt. Daher empfiehlt es sich, den Benutzer ntp dauerhaft in die Gruppe tty aufzunehmen:
$ sudo adduser ntp tty
Standardmäßig dient /etc/ntp.conf als Konfigurationsdatei für den NTP-Daemon. Aber jedes Mal, wenn eine Netzwerkschnittstelle hochkommt und dem DHCP-Client am RasPi einen NTP-Server mitteilt, legt dieser eine aktualisierte Konfiguration in /var/lib/ntp/ntp.conf.dhcp an und startet den NTP-Daemon mit dieser neu. Um nur das Empfängermodul als Zeitquelle zu betreiben, gilt es, entsprechende Konfigurationswechsel im Startskript zu deaktivieren.
In Listing 4 finden Sie ein Diff-File, das die entsprechenden Änderungen zusammenfasst. Speichern Sie es als ntp.diff in Ihrem Home-Verzeichnis ab und spielen Sie es anschließend mit dem Befehl patch -p0 /etc/init.d/ntp ntp.diff ins System ein.
Listing 4
--- ntp.old 2009-12-26 18:29:45.000000000 +0100
+++ ntp 2013-07-05 15:40:21.991558752 +0200
@@ -22,10 +22,14 @@
. /etc/default/ntp
fi
-if [ -e /var/lib/ntp/ntp.conf.dhcp ]; then
- NTPD_OPTS="$NTPD_OPTS -c /var/lib/ntp/ntp.conf.dhcp"
+if [ ! -L /dev/refclock-0 ]; then
+ ln -s /dev/ttyAMA0 /dev/refclock-0
fi
+#if [ -e /var/lib/ntp/ntp.conf.dhcp ]; then
+# NTPD_OPTS="$NTPD_OPTS -c /var/lib/ntp/ntp.conf.dhcp"
+#fi
+
LOCKFILE=/var/lock/ntpdate
NTP-Daemon konfigurieren
Die Konfiguration des NTP-Daemons finden Sie in der Datei /etc/ntp.conf (Listing 5). Die server-Anweisungen konfigurieren jene NTP-Server, über die der NTP-Daemon als Client die Zeitinformation bezieht und mit denen er die lokale Systemzeit synchronisiert.
Im Fall eines lokalen Zeitnormals behält man die IP-Adressnotation für NTP-Server bei und teilt der lokalen Quelle die Adresse 127.127.t.x zu. Dabei steht t für den Treiber-Typ und x für die laufende Nummer der Gerätedatei.
Im Fall der verwendeten DCF77-Empfänger wählen Sie den Typ 8 (“Generic Reference Driver”) für den Betrieb an einer seriellen Schnittstelle. Des Weiteren weist mode 5 den Treiber an, die Datenpakete sowie die Phasenlage der Rahmenstarts direkt aus den Flankenpositionen des Datenstroms zu dekodieren.
In der Drift-Datei /var/lib/ntp/ntp.drift legt der Daemon die errechnete und über längere Zeit gemittelte Drift zwischen der Systemzeit und der DCF77-Zeit ab. Dabei handelt es sich letztlich um die Abweichung des 19,2-MHz-Quarzoszillators auf der Rückseite des RasPi-Boards von der Nominal-Frequenz in ppm (part-per-million).
Dieser Frequenzversatz setzt sich zusammen aus einer quasi-statischen, im Wesentlichen beim Schneiden des Quarzkristalls festgelegten und nur einer gewissen Alterung unterworfenen Komponente sowie einem temperaturabhängigen und damit dynamischen Anteil von 10 bis 20 ppm über den Betriebstemperaturbereich. Aufgrund dieser Variation wird diese Drift permanent in der PLL nachjustiert und periodisch im Drift-File aktualisiert.
Die auf die Angabe der Drift-Datei folgenden Angaben beziehen sich darauf, wo der Daemon welche Statistikdaten anlegt. Diese lassen sich zur späteren Überwachung und gegebenenfalls Justierung verwenden.





