web-dev-qa-db-ja.com

起動時にhwclockを自動的に更新します

Beagle BoneBlacksに小さな問題があります。 RTCバッテリーが付属していないため、電源が切れるとハードウェアクロックが台無しになります。起動時に、hwclockをシステムクロックに同期する簡単でクリーンな方法が必要です。もちろん、システムクロックはntpdから時間を取得するため、起動後はシステムクロックは完璧です。私は解決策にたどり着きました。いくつかの提案と少しの構文が必要です。

私は欲しかったし、追加しようとしました:

/sbin/hwclock --systohc

/etc/init.d/ntp(開始ケースの内部と終了時)に、これは最初は機能しているように見えましたが、さらにいくつかのテストを行った後、機能しなくなりました。何が変わったのかわかりません。多分私はそれがうまくいったと思った。

Hwclock -wがうまく機能し、起動時にcronジョブに入れるようなことができることはわかっていますが、可能であればcronは避けたいと思います。他の提案や構文の変更はありますか?

ありがとう

ところで、これはDebian上にありますが、Ubuntuでも機能するためにこれが必要です。

3
Atomiklan

Fake-hwclockプログラムをインストールします。

# apt-get install fake-hwclock


fake-hwclock: Save/restore system clock on machines without working RTC hardware

 Some machines don't have a working realtime clock (RTC) unit, or no
 driver for the hardware that does exist. fake-hwclock is a simple set
 of scripts to save the kernel's current clock periodically (including
 at shutdown) and restore it at boot so that the system clock keeps at
 least close to realtime. This will stop some of the problems that may
 be caused by a system believing it has travelled in time back to
 1970, such as needing to perform filesystem checks at every boot.

 On top of this, use of NTP is still recommended to deal with the fake
 clock "drifting" while the hardware is halted or rebooting.

Fake-hwclockがインストールされていると、マシンは1970年だと思って起動しなくなります。マシンが起動すると、最後の再起動/シャットダウン中に書き込まれたタイムスタンプfake-hwclockに時計が設定されます。これは、起動時にネットワークの問題が発生した場合に備えて、ある程度正しいクロックを使用できることを意味します。

2
dfc