玄箱の時計の周波数を自動で設定してくれるスクリプト

Posted on

 前回とった方法では、再起動するたびにtickの値が変動し、設定しなおさなければならないという事がありました。これは非常に面倒です。

 このスクリプトを使うことによって自動で設定を行ってくれるようです。今回はtickじゃなくって周波数を変更?時計システムよく分からないんだよなぁ・・・お勉強して結果をまとめて見ます。

http://www.kobore.net/adjtimex.txt

今回はここで調べました。

Tick

-t val, -tick val

各々のカーネルtick割り込みのためのシステム時刻に追加さ

れるべきミリ秒の値をセットします。

一秒間に100tickとすると、valは、10000に近くなります。1

追加するごとに、システム時計は100ppm(8.64秒/日)ごとに

早くなります。tickの範囲は、インテルで9000-110000、ア

ルファで、900-1100です。

 どうも、時計の増える速さを一秒間に1じゃなくって、増やしたり減らしたりすることによって誤差を調整するみたいです。

frequency

システム時計周波数オフセットをnewfreqにセットします。

nwefreqは、プラスマイナス値が入力可能で、”-tick”を使う

より、もっと正確な調整ができます。値のスケールは、

newfreq = 1<<16 で、システム時計を1ppm 0.864秒/日進め

ます。従って、tick 10000 -frequency 6554600は、

tick10001 frequency 0と同じです。

newfreqの範囲は6553600…6553600で、プラスマイナス

100ppmの最大調整値が許されています。

 時刻の調整に使う時計の周波数の誤差を追加したり減少させることで誤差を修正すると。

つまり

 大体はtickで調整して、細かいところはfrequencyを使って修正する、とそういう事で良いですか?

 上のスクリプトもそういう感じみたいですね、よく分かりませんけど。

実際に使ったけど・・・

Regulating system time...
/sbin/adjtimex -t 13379 -f 3428286
adjtimex: Invalid a
rgument
for this kernel:
USER_HZ = 100 (nominally 100 ticks per second)
9000 <= tick <= 11000
-33554432 <= frequency <= 33554432
done.

 うわあああぁ(AA略

 原因が究明できるまで,とりあえず元のスクリプトにしておきますです・・・_| ̄|○


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください