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時間のズレは生じません(ズレ問題がすでに修正されている)。
--
なかむら