외부 RTC 모듈(예: DS1307)을 사용하여 임베디드 환경(현재 환경: Debian Stretch가 포함된 Raspberry Pi)에서 작업할 때 시스템과 RTC 시계를 수동으로 동기화해야 합니다.
이는 주기적으로 호출하여 수행할 수 있습니다 hwclock -w
(예: 크론 작업에 넣기).
데스크탑 시스템이 이 상황을 어떻게 처리하는지 궁금합니다. 내 데비안 데스크톱 컴퓨터에서 크론 작업을 확인해 보면 RTC와 관련된 것은 아무것도 없는 것 같습니다(다른 작업에서는 "숨겨져" 있을 수도 있지만).
그렇다면 RTC는 어떻게 시스템 시계와 동기화를 유지합니까?
답변1
RTC와 함께 제공되지 않는 Pi와 같은 임베디드 플랫폼에서는 adjtimex
일반적으로 이 패키지가 기본적으로 설치되지 않습니다. 이것은 커널의 RTC 구성을 관리하는 도구입니다. 커널은 기본적으로 하드웨어 시계를 시스템 시계와 동기화되도록 구성됩니다.
hwclock 또는 유사한 도구를 사용하는 경우 커널 동기화가 비활성화되며 이를 다시 활성화하려면 adjtimex를 사용해야 합니다.
adjtimex
간헐적으로 연결되거나 시간이 동기화되지 않는 기계를 위한 솔루션입니다. 또 다른 옵션은 ntpd
시스템 시계를 올바르게 유지하고 종료 시 스크립트를 호출하여 hwclock --systortc
마지막으로 가장 정확한 시계를 hwclock에 기록하도록 구성 가능한 옵션을 사용하는 것입니다 .