Armadilloフォーラム

日時を設定して再起動すると標準時刻に戻ってしまう

huehara

2017年4月30日 1時31分

お世話になります

Armadillo-420で時刻設定を行い、再起動すると時刻が標準時刻に戻ってしまいます。
下記のように設定を行ってます。

linuxのバージョンは3.14です
RTCは実装済みです。
TZ環境変数はJST-9に設定してあります。

#date 043001252017
#hwclock --hctosys

再起動します

#date
Sun Apr 30 10:28:22 JST 2017

時刻が戻ってしまいます。

#hwclock --show
Sun Apr 30 01:29:57 2017 -0.966762 seconds

hwclockコマンドで確認すると問題ないです。

ご存知の方がおられましたら、ご教示の程お願いします。

コメント

y.nakamura

2017年4月30日 3時35分

中村です。

> #date 043001252017
> #hwclock --hctosys
>
> 再起動します

この再起動する前のhwclockコマンドは何をしたいのでしょうか?
その前のdateで設定した時計をRTCに保存するためのものなら、
--hctosys ではなく --systohc です。

RTCそのものにはタイムゾーン情報を保存できません。そのため、
起動時にRTCのドライバはRTCにはUTCで保存されているものとして
system時計の設定処理をしているはずなので、
RTCへはUTCで保存するようにした方がいいです。
hwclock --systohc --utc
です。

以下は、私の作業メモからの引用です。
今のバージョンもこのとおりかどうかわかりませんが、
参考にしてください。
お困りの内容は、たぶん、こういう話だと思います。

RTCにUTCで保存すると、USBメモリなどのタイムスタンプが
9時間ずれる問題が発生します。
この対策は、rc.localなどで起動時に
export TZ=JST-9
hwclock --hctosys --utc
をすればOKです。

RTCにローカルタイムで保存する場合、つまり、
hwclock --systohc --localtime
でRTCへ保存している場合、
RTCドライバの初期化はRTC時刻をUTCと決め打ちしているので、
起動時に、rc.localなどで
export TZ=JST-9
hwclock --hctosys --localtime
を実行してシステムクロックをlocaltimeで再設定しないと
dateコマンドなどの表示が9時間ずれます。
この場合、起動時に"hwclock --hctosys --localtime"を
実行しているので、USBメモリ等のタイムスタンプの
9時間のズレは生じません(ズレ問題がすでに修正されている)。

--
なかむら