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-linux
udevルールファイルが用意されています。 udevデーモンは、/dev/rtc0が作成されると自動的に呼び出されます。必要に応じて変更できます。/usr/lib/udev/rules.d/85-hwclock.rules
/etc/udev/rules.d/
/usr/lib/udev/hwclock-set
rtc0
85-hwclock.rules