Stap 3: Uiteinde van de Bonus - Sync en load tijd tijdens het opstarten met systemd
Als u wilt dat uw systeem te gedragen als een gebruikelijke computer, heb laadtijd van de hardwareklok tijdens het opstarten en houden het bijgewerkt regelmatig met internettijd, ik ook geschreven een paar stappen de juiste systemd services instellen.
Instructies zal zeker kijken beter op mijn website, waar de code juist is geformatteerd en ik kon bieden syntaxkleuring.
- Maken en inschakelen van de rtc-init systemd service: een bestand van de rtc-init.service met de volgende regels in/etc/systemd/system/schrijven
[Unit] Description=RTC Clock Setup and Time Sync Before=<a href="mailto:netctl-auto rel="nofollow">netctl-auto [Service] Type=oneshot ExecStart=/usr/lib/systemd/scripts/rtc-setup [Install] WantedBy=multi-user.target
Voeg vervolgens in /usr/lib/systemd/scripts/ een rtc-setup shellscript uitzien
#!/bin/sh echo ds1307 0x68 >/sys/bus/i2c/devices/i2c-1/new_device echo "RTC DS1307 Installed" hwclock -s echo "System Time synced with RTC Time"
en geef het juiste machtigingen met chmod 755 rtc-setup.
Systemctl rtc-init inschakelen zodat de service tijdens het opstarten worden uitgevoerd. - Verplaatsen naar /usr/lib/systemd/system/ en maak een back-up van systemd-timesyncd met cp systemd-timesyncd systemd-timesyncd.original, en vervolgens bewerken van systemd-timesyncd , zoals hieronder getoond
[Unit] ... After=systemd-remount-fs.service systemd-tmpfiles-setup.service systemd-sysusers.service rtc-init.service #Before=time-sync.target sysinit.target shutdown.target Before=time-sync.target shutdown.target Conflicts=shutdown.target ... [Install] #WantedBy=sysinit.target WantedBy=multi-user.target
- Bewerken /etc/netctl/eth0 (bestandsnaam kan variëren op basis van Ethernet Interfacenaam) commentaar ExecUpPost lijn:
Description='A basic dhcp ethernet connection' Interface=eth0 Connection=ethernet IP=dhcp #ExecUpPost='/usr/bin/ntpd -gq || true' ## for DHCPv6 #IP6=dhcp ## for IPv6 autoconfiguration #IP6=stateless
Hiermee schakelt u automatische tijd sync met ntpd (bij het netwerk opstarten tijdens het opstarten), omdat het al door systemd-timesyncd -service wordt uitgevoerd.
- Uiteindelijk lopen $ timedatectl set-ntp waar om de bewerkte versie van systemd-timesyncd service
Herstart en genieten, uw Pi moet nu laden de rtc tijd bij het opstarten (in een paar seconden). Vervolgens, als u met het internet verbonden bent de systemd-timesyncd -service haalt de huidige tijd met eenvoudige NTP protocol en het synchroniseert met systeemtijd en hardware tijd (uw RTC).