
Arch Linux를 실행하는 ODROID-C2 시스템이 있습니다. 을 실행하면 journalctl -b
처음에는 시간이 잘못되었음을 알 수 있습니다.
-- Logs begin at Thu 2020-02-13 20:01:10 GMT, end at Fri 2020-03-20 17:20:14 GMT. --
Feb 13 20:01:15 moby kernel: Initializing cgroup subsys cpuset
Feb 13 20:01:15 moby kernel: Initializing cgroup subsys cpu
Feb 13 20:01:15 moby kernel: Initializing cgroup subsys cpuacct
Feb 13 20:01:15 moby kernel: Linux version 3.16.81-1-ARCH (builduser@
나중에 부팅 프로세스 중에 시간이 업데이트됩니다.
Feb 13 20:01:26 moby dbus-daemon[246]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.0' (uid=981 pid=203 comm="/usr/lib/systemd/systemd-networkd ")
Feb 13 20:01:26 moby systemd[1]: Starting Hostname Service...
Mar 20 17:12:59 moby systemd-timesyncd[234]: Initial synchronization to time server 85.199.214.99:123 (0.arch.pool.ntp.org).
Mar 20 17:13:02 moby kernel: audit_printk_skb: 36 callbacks suppressed
1. 질문:처음부터 시간이 (거의) 정확했으면 좋겠습니다. ODROID-C2로 이 작업을 수행할 수 있는 방법이 있나요? 이것이 작동하려면 배터리가 필요하다는 것을 알고 있는데 ODROID-C2에는 그런 것이 없다고 생각합니다. 업데이트:분명히 그것은 쉽게 할 수 있는 일이 아닙니다.
가장 중요한 것은 타이머 등을 혼동시킬 수 있으므로 시간이 수정된 후에만 서비스가 시작되도록 하고 싶습니다. 잠재적으로 이를 달성하기 위해 다음을 수행할 수 있다는 것을 읽었습니다.
- 달리다:
systemctl enable systemd-time-wait-sync.service
- Put:
After=time-sync.target
서비스 파일에 넣습니다.
2. 질문:그 맞습니까?
나는 이것이 무슨 일이 일어나고 있는지 생각하지 않기 때문에 매우 혼란스럽습니다. 다음 서비스 파일이 있습니다.
[Unit]
Description=Run check-updates.service every Friday at 8pm
After=time-sync.target
[Timer]
OnCalendar=Fri 20:00
Persistent=true
[Install]
WantedBy=timers.target
하지만 다음 내용을 읽을 수 있습니다 journalctl -b
.
Feb 13 20:01:25 moby systemd[262]: check-updates.timer: Not using persistent file timestamp Fri 2020-03-20 17:01:56 GMT as it is in the future.
Feb 13 20:01:25 moby systemd[262]: Started Run check-updates.service every Friday at 8pm.
이는 시간이 정확한 시간으로 업데이트되기 전임이 분명합니다.
3. 질문:이를 추가로 어떻게 디버깅할 수 있나요?
답변1
이것은 바이오스 시계 없이는 할 수 없는 일입니다. 저는 ODROID-C2에 익숙하지 않지만 다른 임베디드 장치에 대해 작업한 적이 있습니다.
커널이 시작되자마자 시스템은 로깅을 시작하므로 저널 출력에는 시간을 수정할 수 있을 때까지 시스템 하드웨어 시계에서 얻은 모든 날짜 스탬프가 포함됩니다. 장치에 배터리가 없으므로 날짜를 유지할 수 없습니다. 네트워크가 활성화되어 NTP 서버에서 시간을 얻을 때까지 시스템이 좋지 않은 시간을 보낼 것입니다.
다른 방법이 있을 수도 있지만 하드웨어 초기화 시 BIOS가 시간을 제공하지 않으면 의심스럽습니다.