부팅 시 하드웨어 시계에서 날짜/시간을 자동으로 설정하는 사람은 누구입니까?

부팅 시 하드웨어 시계에서 날짜/시간을 자동으로 설정하는 사람은 누구입니까?

Linux가 부팅되면 RTC 칩에서 현재 시간을 가져온 다음 Linux 시스템 날짜/시간으로 설정해야 합니다. 를 실행하여 수동으로 이 작업을 수행할 수 있습니다 hwclock --hctosys. 그런데 시작 시 정확히 어디에서 이런 일이 자동으로 발생합니까? 이를 처리하는 프로세스가 있나요? 커널이 그 일을 하는가?

답변1

방법 1: RTC 칩에서 Linux 커널 로딩 시간

CONFIG_RTC_HCTOSYS이 기능을 활성화하려면 커널 구성에서 설정을 지정할 수 있습니다. 활성화되면 Linux 커널은 저장된 시간을 읽고 rtc0이를 시스템 시간으로 설정합니다. CONFIG_RTC_HCTOSYS_DEVICE="rtc0"기기에 따라 변경 될 수 있습니다 .

이를 위해서는 해당 RTC 드라이버를 내장 모듈로 컴파일해야 합니다.

방법 2: udev는 /dev/rtcX가 생성된 직후 hwclock을 호출합니다.

패키지는 복사할 수 있는 util-linuxudev 규칙 파일을 제공합니다 . udev 데몬은 /dev/rtc0이 생성되면 자동으로 호출됩니다. 필요한 경우 이를 변경할 수 있습니다 ./usr/lib/udev/rules.d/85-hwclock.rules/etc/udev/rules.d//usr/lib/udev/hwclock-setrtc085-hwclock.rules

관련 정보