Set the date in Beaglebone Black using ntp Debian 8.9

3.3k Views Asked by At

I've been trying to set up the correct date in my Beaglebone Black but the solutions I've tried are not permanent, everytime I poweroff the Beagle and power on later, the date is wrong again. So this is what initially looks like:

root@beaglebone:~# date
Sat May 21 17:48:28 CDT 2016

Then I installed ntp and ntpdate

root@beaglebone:~# apt-get install ntp ntpdate
Reading package lists... Done
Building dependency tree
Reading state information... Done
ntp is already the newest version.
ntpdate is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

After that I edit the ntp.conf file like this

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
server 0.north-america.pool.ntp.org
server 1.north-america.pool.ntp.org
server 2.north-america.pool.ntp.org
server 3.north-america.pool.ntp.org
...
# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust
restrict 192.168.0.11 mask 255.255.255.0 nomodify notrap

The next step was

root@beaglebone:~# rm /etc/localtime
root@beaglebone:~# ln -s /usr/share/zoneinfo/America/Mexico_City /etc/localtime

After that I was supposed to enable the ntp service with

root@beaglebone:~# systemctl enable ntpdate.service
Failed to enable unit: No such file or directory

or

root@beaglebone:~# service ntpdate start
Failed to start ntpdate.service: Unit ntpdate.service not found.

I couldn't continue with thas because I don't have the ntp.service file so then I tried this

root@beaglebone:~# timedatectl set-ntp true
root@beaglebone:~# timedatectl status
      Local time: Sat 2016-05-21 18:16:10 CDT
  Universal time: Sat 2016-05-21 23:16:10 UTC
        RTC time: Sat 2016-05-21 23:16:11
       Time zone: America/Mexico_City (CDT, -0500)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

root@beaglebone:~# nano /etc/systemd/timesyncd.conf
[Time]
NTP=0.north-america.pool.ntp.org 1.north-america.pool.ntp.org 2.north-america.pool.ntp.org 3.north-america.pool.ntp.org
FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

Finally I reboot and seems to work

root@beaglebone:~# timedatectl status
      Local time: Sun 2017-09-10 23:32:28 CDT
  Universal time: Mon 2017-09-11 04:32:28 UTC
        RTC time: Mon 2017-09-11 04:32:28
       Time zone: America/Mexico_City (CDT, -0500)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

But then again, after poweroff the time sets itself back to May 21st, 2016. I even tried set and sync the clock manually with hwclock --set --date "date" --localtime and systohc but after poweroff the result is the same.

Am I missing something or doing something wrong?

I also change 'UTC' to 'LOCAL' in /etc/adjtime and time goes back to May 2016.

Thanks.

1

There are 1 best solutions below

1
On

Try this:

dpkg-reconfigure tzdata

This should work. A prompt appears and you can configure it with a graphical interface. It is as easy as America and enter. And then, you can pick your time zone, too.

Seth