Как настроить часы RTC в Ubuntu Core?

У меня есть Raspberry Pi 3, который регистрирует данные во времени, поэтому мне нужны часы RTC

Я прикрепил dtoverlay=i2c-rtc,ds3231 к config.txt.

hwclock.service было бы идеально, но он замаскирован, и я не могу его разоблачить.

hwclock -s работает нормально, но когда я пытаюсь выполнить из замкнутой оснастки, я получаю это (контроль времени подключен):

ed10vi86@localhost:~$ sudo hwclock.hwclock-test -s --debug
hwclock from util-linux 2.27.1
Using the /dev interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
...got clock tick
Time read from Hardware Clock: 2017/06/29 10:49:54
Hw clock time : 2017/06/29 10:49:54 = 1498733394 seconds since 1969
Time since last adjustment is 1498733394 seconds
Calculated Hardware Clock drift is 0.000000 seconds
Calling settimeofday:
    tv.tv_sec = 1498733394, tv.tv_usec = 0
    tz.tz_minuteswest = -120
/snap/hwclock/x1/hwclock-test: line 2:  1656 Bad system call         hwclock $@

И snappy-debug.security scanlog:

= Seccomp =
Time: Jun 29 12:49:54
Log: auid=1000 uid=0 gid=0 ses=1 pid=1656 comm="hwclock" exe="/sbin/hwclock" sig=31 arch=40000028 79(settimeofday) compat=0 ip=0x76f0c246 code=0x0
Syscall: settimeofday

Хорошо работает в devmode

0
задан 29 June 2017 в 07:14

1 ответ

Я знаю, что это - своего рода отсроченная реакция, но я полагал, что совместно использую свое решение. Кажется, что можно "воссоздать" hwclock сервис и получает желаемый результат, следующим образом:

Для размаскирования сервиса соответствующий файл определения должен присутствовать в /etc/systemd/system. К счастью, в Ubuntu Удаляют сердцевину этого каталога, отображается на /writable/system-data/etc/systemd/system - таким образом в том перезаписываемом каталоге можно создать названный файл hwclock.service со следующим содержанием (настроил при желании):

[Unit]
Description=Hardware clock synchronization
[Service]
Type=oneshot
ExecStart=/sbin/hwclock --hctosys --utc --adjfile=/writable/system-data/etc/adjtime
ExecStop=/sbin/hwclock --systohc --utc --adjfile=/writable/system-data/etc/adjtime
[Install]
WantedBy=multi-user.target

Затем можно размаскировать и включить сервис как нормальный:

sudo systemctl unmask hwclock
sudo systemctl enable hwclock
0
ответ дан 3 November 2019 в 00:45

Другие вопросы по тегам:

Похожие вопросы: