玄箱の内蔵時計はかなり不正確で、 場合によっては1日に10分近くのズレが生じる。 時計の精度がこれほどまでに良くないのは、以下の2つが原因である。
回路のミスは 1ヶ所ハンダづけすれば直る らしいが、カーネルもそれに併せて修正しなければならず、 手間の面からいってあまりオススメしない。 代わりに以下のような作業を行うことで、時計の精度を改善させる。
Genbako kernel collection さんが配布しているカーネルは、クロック補正の処理が修正されている。 そのため、 カーネルのバージョンアップ を行うことで時計の精度はかなり良くなり、 1日の時計のズレが 1〜2 秒というレベルにまで改善される。
以下のパッケージをインストール。
# aptitude install adjtimex # aptitude install ntpdate
adjtimex のインストール時の質問には、以下のように答える。
adjtimex のパラメータの設定を、以下のような手順で行う。
# ntpdate -b ntp1.jst.mfeed.ad.jp; sleep 3600; ntpdate -b ntp1.jst.mfeed.ad.jp
FREQ = 6553600 × (offset の平均値) × 24 ÷ 8.64
以下のコマンドを実行し、設定を有効にする。
# /etc/init.d/adjtimex restart
クロックの周波数は温度によっても変化するようなので、調整にも限界はあるが、 それでも1日の時計のズレを 0.1 秒以内くらいにはできる。
/etc/default/ntpdate の NTPSERVERS の設定を以下のように変更し、 起動時に /etc/init.d/ntpdate スクリプトで用いられる NTP サーバを指定。
NTPSERVERS="ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp"
以下のような /etc/cron.daily/ntpdate を作成。
#!/bin/sh test -x /usr/sbin/ntpdate || exit 0 /usr/sbin/ntpdate -s ntp.jst.mfeed.ad.jp
/etc/cron.daily/ntpdate に実行属性を与える。
# chmod 755 /etc/cron.daily/ntpdate