外部RTCモジュール(DS1307など)を使用して組み込み環境(現在の環境:Debian Stretchを含むRaspberry Pi)で作業するときは、システムとRTCクロックを手動で同期する必要があります。
これは定期的に呼び出すことによって行うことができますhwclock -w
(例:クローンジョブに入れる)。
デスクトップシステムがこの状況をどのように処理するのか疑問に思います。私のDebianデスクトップコンピュータでクローンの操作をチェックしてみると、RTCに関連するものは何もないようです(他のタスクでは「隠されている」かもしれませんが)。
それでは、RTCはどのようにシステムクロックと同期を維持しますか?
ベストアンサー1
RTCに付属していないPiなどの組み込みプラットフォームでは、adjtimex
通常このパッケージはデフォルトではインストールされません。これはカーネルのRTC構成を管理するツールです。カーネルは、デフォルトでハードウェアクロックをシステムクロックと同期するように構成されています。
hwclockなどのツールを使用している場合は、カーネル同期が無効になり、再度有効にするにはadjtimexを使用する必要があります。
adjtimex
断続的に接続されたり時間が同期しない機械のためのソリューションです。別のオプションは、ntpd
システムクロックを正しく保持し、終了時にスクリプトを呼び出してhwclock --systortc
最後に最も正確な時計をhwclockに書き込むように設定可能なオプションを使用することです。