Datum und Uhrzeit auf Armbian korrekt einrichten (NTP & RTC)
August 6, 2018
Viele Single-Board-Computer (SBCs) verfügen über keine eingebaute Real-Time Clock (RTC) mit Pufferbatterie. Dies führt dazu, dass das System nach einem Neustart das Datum und die Uhrzeit verliert und oft auf den 1970-01-01 zurückfällt.
Diese Anleitung beschreibt die Schritte, um die Zeitzone korrekt zu setzen und die Zeit über das Network Time Protocol (NTP) automatisch zu synchronisieren.
1. Zeitzone konfigurieren
Der erste Schritt ist die korrekte Einstellung der lokalen Zeitzone.
sudo dpkg-reconfigure tzdata
Dieser Befehl startet einen interaktiven Assistenten, in dem Sie Ihre geografische Region und Stadt auswählen können.
Überprüfung:
# Zeigt an, auf welche Zeitzonendatei der symbolische Link verweist
ls -l /etc/localtime
# Gibt die konfigurierte Zeitzone aus (z.B. "Europe/Berlin")
cat /etc/timezone
2. NTP-Synchronisation aktivieren
Stellen Sie sicher, dass die automatische Zeitsynchronisation über NTP aktiviert ist. systemd-timesyncd ist der standardmäßig integrierte NTP-Client in den meisten modernen Linux-Distributionen, einschließlich Armbian.
# NTP-Synchronisation aktivieren
sudo timedatectl set-ntp true
# Status überprüfen
timedatectl status
Achten Sie in der Ausgabe von timedatectl status auf die Zeile NTP service: active oder NTP synchronized: yes.
Alternative NTP-Clients:
Falls systemd-timesyncd nicht ausreicht, können robustere Clients wie chrony oder ntp installiert werden:
sudo apt install -y chrony
3. Umgang mit einer Real-Time Clock (RTC)
Falls Ihr SBC über eine RTC verfügt, können Sie diese überprüfen und die Systemzeit darauf schreiben.
RTC überprüfen
# Führt einen Testlauf durch, ohne die Hardware-Uhr zu verändern
sudo hwclock --test -D
Wenn die Ausgabe ein Datum um 1970 anzeigt, ist wahrscheinlich keine funktionierende RTC vorhanden oder die Pufferbatterie ist leer.
Systemzeit in die RTC schreiben
Wenn eine funktionierende RTC vorhanden ist, können Sie die aktuelle, per NTP synchronisierte Systemzeit in die Hardware-Uhr schreiben.
# Schreibt die aktuelle Systemzeit in die RTC
sudo hwclock -w
Überprüfen Sie anschließend erneut mit timedatectl status. Der Wert bei RTC time sollte nun aktuell sein.
Diagnose und Zusammenfassung
Der Befehl timedatectl status ist das zentrale Werkzeug zur Diagnose. Eine korrekte Konfiguration sieht typischerweise so aus:
Local time: Do 2025-03-01 10:30:00 CET
Universal time: Do 2025-03-01 09:30:00 UTC
RTC time: Do 2025-03-01 09:30:00
Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
- Ohne RTC (häufigster Fall bei SBCs): Die NTP-Synchronisation ist zwingend erforderlich. Das Gerät benötigt beim Booten eine aktive Netzwerkverbindung, um die korrekte Zeit zu beziehen.
- Mit RTC: Die RTC überbrückt die Zeit, in der das Gerät ausgeschaltet ist. NTP wird dennoch empfohlen, um die Uhrzeit regelmäßig zu korrigieren und präzise zu halten.