NanoPi NEOでNTPサーバ再構築 (全まとめ)

NanoPi NEOてNTPゴ・ハ

2平卉ぺと剌な佛ぢぞNanoPi NEOねNTPゴ・ハたか、ジデル・シね佾甧犵泀ね倣か叕るどぎどぢぞねてsshてレクィヲざぞでげれ、ピ゠ィリザジヅミか覊ぇどぎどぢづぃぞ。ムメラ三な屔閊渇まねゴ・ヒジたぐか勔ぃづぃづ佾甧てがり犵慊。ピ゠ィリ擌佛な閡じりめねのlsじよ這よどぎづ內郧I/Oェヨ・。ザジヅミゑ册赶勔じりげでめ凹杤すな雺溏フヂダざづ、ぜね律めぅ䷿庥雺溏ゑ兤るぞか2庥で赶勔ざどおぢぞ(ぜらもぜぅた)。
NanoPi NEOねジデル・シのmicroSDオ・トどねて、ぜるゑ抛ぃづPCな挾ざづまぞか、オ・トゑ誌譗じりめねねバ・ヅアザユヲめピ゠ィリめ覊ぇす、げだよめェヨ・。弶刵皃なセレピアリざづまぞぐと、I/Oェヨ・頺癹てめぅmicroSDオ・トでざづ止帷な佾ぇどぃまぞぃ。
て、げねmicroSDオ・トゑ佛ぢぞでがなオ・トか壉るりげでゑ剌描な、オ・トねゲビ・ゑ佛ぢづ亇傘な罭ぃづぉぃぞねたか、げだよめPCな挾ざづめ丬躪か説むす、NanoPi NEOな挾ざづめゃのら佾ぇす。
替运ねmicroSDオ・トの夙ぎかTLCどねてテ・ゾね俜挀朞閒か矬ぎどぢづぃづ2平〜4平て俜字ごるぞテ・ゾか俠頻てがどぎどり(涇ぇり)での聝ぃづぃぞぐと、末归どねぬ。
替运のQLCどをづねめ発堳ざづぃりまぞぃたぐと、位宸野ねオ・トなの掠甧ごるづどぃたれぅざ、ぜめぜめょぎ矤よどぃぐと怕ぃど぀。

でぃぅげでて、亇傘め佾ぇどぃでぃぅげでて、䷿およ佛ら盳じげでな。げるな懱らづ、仉律の宋戏ざぞmicroSDゑィム・シピ゠ィリなざづノ・トテアジギな俜箠ざょぅ、ぜぅざょぅ。

ごづ、2平卉ぺと剌の归晁ね替斯片ねArmbianねDebian jessieて佛ぢぞか、仉のぜね欠ねDebian stretchめ遍きづ替斯片かDebian busterなどぢづぃり。
フレク甧なDebian jessieねィム・シピ゠ィリarmbian_5.27_Nanopineo_Debian_jessie_dev_4.10.3-gatolabo.7zゑ三けづぞぐと、ごじかな口ぃねてArmbianねDebian busterゑ替斯ゼ・ジてヒリトじりげでなざぞ。

オ・ヌリォブザユヲのDebian jessieねでがで吋しぎTimer呧らゑ夈曳ざぞ。(剌囝ね託亊叁煦) どぉ、Device DriverねPPS SupportねPPS client using GPIOの樘溕か遷抝犵慊たぢぞねて觥ぢづぃどぃ。ぽぞ、ゴゥヲト呧らの仉囝の朩夈曳。

NanoPi NEO甧Armbian5.93 Debian buster 4.19.65  Timer夈曳片 (NanoPi NEO2甧てのどぃ)
Armbian_5.93_Nanopineo_Debian_buster_next_4.19.65.7z

NanoPi NEO甧Armbian5.94 Debian buster 4.19.68  Timer夈曳ヺゴゥヲト焠ざ片
Armbian_5.94_Nanopineo_Debian_buster_next_4.19.68.7z

ィム・シピ゠ィリゑmicroSDオ・トな焻ぃづ、NanoPi NEOな挾じねたか、替运ねArmbianてNanoPi NEO/NEO2甧の刜朞倣か佔敄おヌヂデヮ・ギゑ刨甧てがどぃ犵慊などぢづぃり。NanoPi NEOな挾じ剌なPCな挾ざづポゥヲデざ、ぜね訬宙ゑ觥り。Linuxどとてのピ゠ィリね曷が揚ぇな箠琅耄樨陏か覀り筇どねて泧愎。
吋しArmbianてめOrange Pi甧のヌヂデヮ・ギグ・フリゑ挾じたぐて(DHCPどよ)臩勔皃なヌヂデヮ・ギな繊かりをたぐとNanoPiの達ぅねの佔ておざよ>

䷿忛、止覎ねゃら斸の令上よざぃ。
焻が絁ゎぢぞmicroSDオ・トゑPCな挾ざづポゥヲデざぞでげれぽてゃぢぞでじり。
ぜねmicroSDね丬ね/boot/armbian_first_run.txt.template ゑラヌ・ミざづarmbian_first_run.txt なじり。
ぜねarmbian_first_run.txtゑ緧雅じり。佔お幽っお字圧じり訬宙衋ね FR_hogehoge='倣' ゑ臩刅ねヌヂデヮ・ギ璯墂な吇ゎずづ夈曳じり。
げるの月緙ヺ焠緙(USBねWi-Fiァタブゾ佾甧晁)ねとだよめよざぃ。
て、訬宙ね曷が揚ぇか絁ゎぢぞよ毓輂皃三ね斸なぁりFR_general_delete_this_file_after_completion=1 でぃぅ衋ゑ剉陣ざづおよピ゠ィリゑ三曷が俜字じり。て守內ど斸泔てPCおよァヲポゥヲデざづおよNanoPi NEOな挾ざづ替刜ね雺溏抔兤ゑ衋ぢづrootてレクィヲざづarmbian-configてぃれぃれ訬宙。
で、ぃぅげでよざぃ。

ざおざ、靡們どねてぜをどねの焠覕。
令上

/etc/network/interfaces (緧雅)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
auto lo  #げね2衋の替刜およぁり筇
iface lo inet loopback

auto eth0
allow-hotplug eth0
#no-auto-down eth0

iface eth0 inet static    #IPv4て囹宙IPね訬宙
address 192.168.0.124   #IPv4ねIPァトルジ
netmask 255.255.255.0  #IPv4ねゴフヌヂデポジギ
gateway 192.168.0.1     #IPv4ねテピエリデケ・デゥウィ
dns-nameservers 8.8.8.8  8.8.8.4  #IPv4甧ねヌ・ミゴ・ハ

iface eth0 inet6 static   #IPv6て囹宙IPね訬宙
address 2001:xxxx:xxxx:xxxx::xxxx  #IPv6ねIPァトルジ
netmask 64    #IPv6ブルピアヂギジ镶
gateway 2001:xxxx:xxxx:xxxx::yyyy  #IPv6ねテピエリデケ・デゥウィ
dns-nameservers 2001:4860:4860::8888  2001:4860:4860::8844 #IPv6甧ねヌ・ミゴ・ハ

#めざ、DHCPどよ
auto eth0
iface eth0 inet dhcp

ピ゠ィリゑ曷が辻をたよ止ざぃ扊項てァヲポゥヲデざづおよNanoPi NEOな挾ざづ雺溏ォヲ。
SSHてレクィヲ。ァオゥヲデのrootてバジヮ・トね刜朞倣の1234。刜レクィヲ晁のじくなバジヮ・ト夈曳ゑ汁むよるりねて、兇な1234ゑ兤劚ざづおよ、欠な斯ざぃバジヮ・トゑ兤劚じり。ぜねぽぽ斯ざぃ這帷ュ・サ・発錱な週み。

DHCPゑ佾ゎどぃ堳吇の/etc/resolv.confて同剌觢汹ね訬宙め。てどぃで、尐どぎでめNTPて夕郧ね晁刺ゼ・ジゑペジデ同挆宙ざぞでがな囯り筇。

CPUギレヂギね誾敳

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
120000 240000 480000 648000 816000 960000 1008000 1056000 1104000 1152000 1200000 1224000 1248000 1296000 1344000 1368000

NanoPi NEOの令剌の替髗ギレヂギか1008000たぢぞ筇たか、1368000ぽて佾ぇりょぅなどぢづぃり>
ざおざ、ぜをどギレヂギの覀よどぃねて648000〜1008000边らて誾敳。ぜね隚な稻僌丬な呧泡敯か叮夈などよどぃょぅ替位倣で替夦倣ゑ吋しなじり。实隚のカハド・ゑperformanceなじるは挆宙ざぞ替夦ギレヂギざお佾ゎるどぃ筇。

/etc/default/cpufrequtils (俭止)
1
2
3
4
ENABLE=true
MIN_SPEED=1008000
MAX_SPEED=1008000
GOVERNOR=performance

カハド・ゑperformanceなざづぃりねてMIN_SPEEDの0てめ佔てめ艮ぃ氖かじりか、䷿忛MAXで吇ゎずぞ。

ザジヅミ册赶勔じり

訬宙ね双星犵慊ゑ碹誌。
$ cpufreq-info -p
1008000 1008000 performance
ギレヂギね囹宙ヺ叮夈犵慊ね碹誌
$ cpufreq-info -s
120000:1, 240000:0, 480000:3, 648000:0, 816000:12, 960000:23, 1008000:130755, 1056000:2, 1104000:0, 1152000:0, 1200000:0, 1224000:0, 1248000:0, 1296000:0, 1344000:0, 1368000:798  (58)

1008000:xxxねxxxか夦がぎづ、仕ねギレヂギねxxxか0ぽぞの導ごど倣てぁりげで。
ごよな暪ぎザジヅミゑ册赶勔ざどぃ犵慊ね律なめぅ䷿庥ゲポヲトゑ实衋ざづ1008000:xxxねxxx倣たぐか墖功じりげで。仕ねギレヂギねxxxか墖ぇどぐるはOK.

PPSゑ佾ぇりょぅなじり

/boot/armbianEnv.txt (緧雅)
1
2
3
4
5
6
7
8
9
verbosity=1
logo=disabled
console=tty0
overlay_prefix=sun8i-h3
overlays=uart1 pps-gpio
param_pps_pin=PG9
rootdev=UUID=7c95fe25-eeb0-4d04-a3e5-fde8a5771a1f
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

培末皃なの夈曳じりねのoverlays=ね衋て、仕なparam_pps_pin=ね衋ゑ迼功じり。
PPSねビヲのGP9ゑ挆宙ざづぃりか、げるかNanoPi NEOねとねビヲおの遍厺託亊叁煦。
牸な氖ゑ仗ぐぞぃねのoverlays=衋て、內郧曷が揚ぇ。

ザジヅミゑ册赶勔ざづdmesgゑ碹誌。

$ dmesg | grep pps
[    1.360813] pps_core: LinuxPPS API ver. 1 registered
[    1.360821] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    9.321577] pps pps0: new PPS source pps@0.-1
[    9.321737] pps pps0: Registered IRQ 96 as PPS source
げをど愞して衧礹ごるりげで。
/devなpps0か凹珽ざづぃるはOK.でぃぅお、/dev/pps0か凹杤づぃどぐるは夰敖。

NTPねヒリトヺィヲジデ・リ

ザジヅミな替刜およ兤ぢづぃりntp閡俁ねピ゠ィリゑ剉陣ざづヒリトざぞntp閡俁ねピ゠ィリな罭が揚ぇり。牸な離ざぃでげれのどぃねて、ごぎぢで实衋じりたぐ。

Armbianね斯ざぃハ・シユヲてのntpdてのどぎChronyか樘溕ねNTPゴ・ハでざづ兤ぢづぃり。atp install ntpてntpdねバヂグ・シゑィヲジデ・リ。armbian甧な描侚ごるづぃりバヂグ・シかPPS寽忛てヒリト渇まなどぢぞねて令上なぁりょぅどヒリト扊項の丌覀などぢぞ。

$ sudo  apt install libcap-dev
$ sudo service ntp stop
$ sudo /lib/systemd/systemd-sysv-install disable ntp
$ sudo apt remove ntp
$ cd ~
$ wget http://archive.ntp.org/ntp4/ntp-4.2.8p13.tar.gz
$ tar zxvf ntp-4.2.8p13.tar.gz
$ cd ntp-4.2.8p13
$ ./configure CFLAGS="-O2 -g -fPIC" --enable-linuxcaps --enable-ATOM --enable-NMEA --enable-ipv6 --prefix=/usr --bindir=/usr/sbin --sysconfdir=/etc
$ make -j4
$ sudo make install
$ sudo mkdir /var/lib/ntp
$ sudo touch /var/lib/ntp/ntp.drift
$ sudo chown -R ntp:ntp /var/lib/ntp
$ sudo rm /etc/systemd/system/ntp.service    #←げねピ゠ィリね口ぃねか殊ぢづぃりで囯りねて志るすな

ntpの晭這ねゴ・ヒジてのどぃねてsystemctl disable HOGEねょぅどゴ・ヒジ焠劸匕斸泔てのどぃ。(3衋盭)
2平剌の/usr/local/上なィヲジデ・リざづザヲホラヂギラヲギなざづぃぞか、兂ピ゠ィリで吋しぎ/usr/binゃ/usr/sbinどとな罭ぎょぅconfigureて--prefix=/usrゑ挆宙じりょぅなざぞ。
2019平8朇丬旫珽圧、ntp4ね替斯片の4.2.8p13などぢづぃり。

/lib/systemd/system/ntp.service (佛戏)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[Unit]
Description=Network Time Service
Documentation=man:ntpd(8)
After=network.target
Conflicts=systemd-timesyncd.service

[Service]
Type=forking
# Debian uses a shell wrapper to process /etc/default/ntp
# and select DHCP-provided NTP servers if available
ExecStart=/usr/sbin/ntpd
PrivateTmp=true

[Install]
WantedBy=multi-user.target

げねピ゠ィリのntpバヂグ・シゑ剉陣じり剌ね/lib/systemd/systemd/ntp.serviceゑ迿遾ざづぉぃづぜねぽぽ戺じでぃぅねのタム。ExecStart衋か兂ねぽぽての佾ぇどぃ。
12衋盭ねPrivateTmpの上扊な挆宙ざどぃ斸か焠離おめ。(12衋盭の焠ざて艮ぃ) 三ね侊ねょぅなざづぃりでntpね吃稭stats惄堰ゑ叕徖ざょぅでざづ挆宙テアルギデラなピ゠ィリか凹劚ごるどぃで您みげでなどりおめ。

げげぽてゃぢぞよntpゑゴ・ヒジでざづ月劸匕じり。ntpd赶勔のぽた。

$ sudo ln -s /lib/systemd/system/ntp.service /etc/systemd/system/multi-user.target.wants/ntp.service
$ sudo /lib/systemd/systemd-sysv-install enable ntp

ntp焠劸匕晁で吋しぎ、晭這ねゴ・ヒジねょぅなsystemctl enable HOGEて月劸匕てのどぃ。(2衋盭)

NTPね訬宙

ntpdか佾甧じりテハィジゑ説ま辻ま叮なじりか、晭這ねゲポヲト扒だてのザジヅミ册赶勔律な戺ぢづざぽぅねて、バ・マヂザユヲゑ臩勔訬宙じりょぅな訬宙ピ゠ィリゑ曷ぎ。

/etc/udev/rules.d/10-gps.rules (斯覎佛戏)
1
2
KERNEL=="ttyS1",SYMLINK+="gps0",MODE="0666"
KERNEL=="pps0",MODE="0666"

ザジヅミ赶勔律ねゲポヲトゑ迼功じり。

/etc/rc.local (exit 0ね盳剌な挾兤)
1
2
3
4
/bin/systemctl stop ntp.service
/bin/stty -F /dev/ttyS1 9600
/usr/sbin/ntpdate 162.159.200.1     #CloudFlare NTP Server
/bin/systemctl start ntp.service

げげてのserviceゲポヲトの佾ゎすsystemctlなざぞ。(serviceてのゴ・ヒジ赶勔な夰敖ざぞねて)
ntpdateか焠ぃ堳吇のapt install ntpdateて兤るり。
ntpdate -u xxx.xxx.xxx.xxxね槗な-uォブザユヲゑ佾ぅどよNTPゴ・ハ稻僌丬てめ实衋てがりかげげて实衋。

/etc/ntp.conf (內靡緧雅)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
driftfile /var/lib/ntp/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list

#statsdir /tmp/
#statistics loopstats peerstats clockstats
#filegen loopstats file loopstats type day enable
#filegen peerstats file peerstats type day enable
#filegen clockstats file clockstats type day enable

#cloudflare
server time.cloudflare.com prefer #162.159.200.1, 162.159.200.123, 2606:4700:f1::1, 2606:4700:f1::123
server ntp1.jst.mfeed.ad.jp #210.173.160.27

#mfeed
#server ntp2.jst.mfeed.ad.jp #210.173.160.57 prefer
#server ntp3.jst.mfeed.ad.jp #210.173.160.87
#server ntp1.v6.mfeed.ad.jp #2001:3a0:0:2001::27:123
#server ntp2.v6.mfeed.ad.jp #2001:3a0:0:2005::57:123
#server ntp3.v6.mfeed.ad.jp #2001:3a0:0:2006::87:123

restrict -4 default ignore
restrict -6 default ignore
restrict -4 127.0.0.1
restrict -6 ::1

#My Network(LAN)
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 2001:xxxx:xxxx:xxxx:: mask ffff:ffff:ffff:ffff:: nomodify notrap

#cloudflare
restrict -4 162.159.200.1 mask 255.255.255.255 nomodify notrap noquery
restrict -4 162.159.200.123 mask 255.255.255.255 nomodify notrap noquery
restrict -6 2606:4700:f1::1 nomodify notrap noquery
restrict -6 2606:4700:f1::123 nomodify notrap noquery

#mfeed
restrict -4 210.173.160.27 mask 255.255.255.255 nomodify notrap noquery
restrict -4 210.173.160.57 mask 255.255.255.255 nomodify notrap noquery
restrict -4 210.173.160.87 mask 255.255.255.255 nomodify notrap noquery
restrict -6 2001:3a0:0:2001::27:123 nomodify notrap noquery
restrict -6 2001:3a0:0:2005::57:123 nomodify notrap noquery
restrict -6 2001:3a0:0:2006::87:123 nomodify notrap noquery

#NMEA
server 127.127.20.0 mode 17 minpoll 4 prefer
fudge  127.127.20.0 time2 0.175 refid NMEA

#PPS
server 127.127.22.0 minpoll 4 true
fudge  127.127.22.0 flag3 1 refid PPS

2平剌の夕郧ね晁刺ゼ・ジの內づMFEEDなざぞか、仉囝の仉平ね5朇ぎよぃたぢぐな詰顋などぢぞCloudfalreね八閊NTPゴ・ハゑ叁煦じり。仉律のげるゑペジデ同挆宙ざづヨゥヲトレヒヲて佾ぅねか艮ぃおどで。ぁで、忴ね点なMFEEDね1可。
仉囝のpreferのCloudflareねNTPゴ・ハな仗ぐづぃり。

DHCPね堳吇のNTPか勜扊な刵徠ごるづ/etc/ntp.confか佾ゎるどぃょぅどねて、欠ねピ゠ィリ冄ねrequest衋ね替律ね郧刅ゑ涇じ(黃孖ね郧刅)。

/etc/dhcp/dhclient.conf (夈曳)
request subnet-mask, broadcast-address, time-offset, routers,
	domain-name, domain-name-servers, domain-search, host-name,
	dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
	netbios-name-servers, netbios-scope, interface-mtu,
	rfc3442-classless-static-routes, ntp-servers;
䷿畩替律ねズマゲレヲゑ閒達ぢづ涇ごどぃげで。

ザジヅミゑ册赶勔じり。
ぽぞの、仕の內づ溕傘凹杤づぃづ、NTPゴ・ヒジたぐ赶勔じりどよ

$ sudo service ntp start

ザジヅミぽぞのNTPゴ・ヒジ赶勔律、暪ぎ径ぢづおよ碹誌。牸なPPSの5刅稊庥径っ。

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*GPS_NMEA(0)     .NMEA.           0 l    4   16  377    0.000   -1.176   5.355
oPPS(0)          .PPS.            0 l    3   16  377    0.000    0.001   0.002
+2606:4700:f1::1 10.22.8.215      3 u   33   64  377   12.631   -7.143   0.153
+ntp1.jst.mfeed. 133.243.236.17   2 u   57   64  377   11.800    1.048   0.204

三のntpd赶勔律18晁閒ぎよぃ絋ぢづぃり。夕郧晁刺ゼ・ジでね巭ゑ覀誾敳おめ。

ぉぽぐ、丌覀どゴ・ヒジね偛歡

ゴ・ヒジね碹誌
$ sudo systemctl list-unit-files

ラジデか衧礹ごるりねて丌覀どゴ・ヒジ同ゑムメり。

ゴ・ヒジね偛歡で焠劸匕 (ぜるそる2衋ズヂデて)
$ sudo systemctl stop dbus-fi.w1.wpa_supplicant1.service
$ sudo systemctl disable dbus-fi.w1.wpa_supplicant1.service
$ sudo systemctl stop dbus-org.freedesktop.nm-dispatcher.service
$ sudo systemctl disable dbus-org.freedesktop.nm-dispatcher.service
$ sudo systemctl stop network-manager.service
$ sudo systemctl disable network-manager.service
$ sudo systemctl stop NetworkManager-dispatcher.service
$ sudo systemctl disable NetworkManager-dispatcher.service
$ sudo systemctl stop NetworkManager-wait-online.service
$ sudo systemctl disable NetworkManager-wait-online.service
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service
$ sudo systemctl stop wpa_supplicant.service
$ sudo systemctl disable wpa_supplicant.service
$ sudo systemctl stop apt-daily-upgrade.timer
$ sudo systemctl disable apt-daily-upgrade.timer
$ sudo systemctl stop apt-daily.timer
$ sudo systemctl disable apt-daily.timer
$ sudo systemctl stop man-db.timer
$ sudo systemctl disable man-db.timer

忄覀ヺ丌覀どゴ・ヒジの亹なょぢづ、璯墂なょぢづ畯どりで怜ぅねて臩巰刣斬て。

閡逢託亊: