ブログ

Armadillo-IoTでNTPを使う

at_mangetsu
2016年3月15日 10時20分

ArmadilloシリーズでNTPを使いたい場合について、
以下、方法を紹介します。 ※ここではArmadillo-IoTを例に取り上げます。

Armadilloシリーズではデフォルトでntpdが使用可能です。
コマンドパラメータは以下のようになっています。

[root@armadillo-iotg (ttymxc1) ~]# ntpd
BusyBox v1.20.2 (2015-08-19 13:06:41 JST) multi-call binary.

Usage: ntpd [-dnqNwl] [-S PROG] [-p PEER]...

NTP client/server

        -d      Verbose
        -n      Do not daemonize
        -q      Quit after clock is set
        -N      Run at high priority
        -w      Do not set time (only query peers), implies -n
        -l      Run as server on port 123
        -S PROG Run PROG after stepping time, stratum change, and every 11 mins
        -p PEER Obtain time from PEER (may be repeated) 

ntpdはサーバとしてもクライアントとしても動作可能です。
クライアントとして動作させる場合は、以下のようにします。

[root@armadillo-iotg (ttymxc1) ~]# date
Fri Jan 26 17:15:25 JST 2001
[root@armadillo-iotg (ttymxc1) ~]# ntpd -q -p ntp.nict.jp
[root@armadillo-iotg (ttymxc1) ~]# date
Mon Mar 14 18:03:04 JST 2016 

ここで、ntpd -p にてクライアント動作を行いましたが、
動作後そのままntpdはサーバとして常駐してしまいます。
そのため、クライアントとしてのみ動作させたい場合は、-qを使います。

[root@armadillo-iotg (ttymxc1) ~]# ntpd -q -p ntp.nict.jp

NTPサーバとして使用したい場合は、ポート123を指定して動作させます。

[root@armadillo-iotg (ttymxc1) ~]# ntpd -l

NTPクライアントとして時刻取得後、そのままNTPサーバとして使用したい場合は、

[root@armadillo-iotg (ttymxc1) ~]# ntpd -p ntp.nict.jp -l

のようにします。

makeで設定変更する場合は、以下のように行います。
※BusyBoxで動作していますので、BusyBoxの設定を行います。

make menuconfigから
[*] Customize Vendor/User Settings (NEW)
を選択後、

BusyBox  --->
Configuration menu  --->
   Networking Utilities  --->
[*] ntpd
[*]   Make ntpd usable as a NTP server 

また、NTPクライアントのみを使う場合は、
他にntpclientコマンドやntpdateコマンドもあります。
こちらもご活用いただければと思います。

http://armadillo.atmark-techno.com/howto/set-clock