PiKVM update で壊れた

Update したら Hardware clock が見えなくなったので治す

手元の PiKVM をおもむろにアップデートしたらチャタリングじみた事象が出て調査したら Hardware clock が読めてなさそうなため修復する

/api/log?seek=3600&follow=1
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
[2023-09-10 18:53:58 kvmd-watchdog.service] --- kvmd.apps.watchdog                INFO --- Running watchdog loop on RTC0 ...
[2023-09-10 18:53:58 kvmd-watchdog.service] --- Traceback (most recent call last):
[2023-09-10 18:53:58 kvmd-watchdog.service] ---   File "/usr/bin/kvmd-watchdog", line 8, in <module>
[2023-09-10 18:53:58 kvmd-watchdog.service] ---     sys.exit(main())
[2023-09-10 18:53:58 kvmd-watchdog.service] ---              ^^^^^^
[2023-09-10 18:53:58 kvmd-watchdog.service] ---   File "/usr/lib/python3.11/site-packages/kvmd/apps/watchdog/__init__.py", line 121, in main
[2023-09-10 18:53:58 kvmd-watchdog.service] ---     options.cmd(config.watchdog)
[2023-09-10 18:53:58 kvmd-watchdog.service] ---   File "/usr/lib/python3.11/site-packages/kvmd/apps/watchdog/__init__.py", line 82, in _cmd_run
[2023-09-10 18:53:58 kvmd-watchdog.service] ---     _reset_alarm(config.rtc, config.timeout)
[2023-09-10 18:53:58 kvmd-watchdog.service] ---   File "/usr/lib/python3.11/site-packages/kvmd/apps/watchdog/__init__.py", line 58, in _reset_alarm
[2023-09-10 18:53:58 kvmd-watchdog.service] ---     now = _read_int(rtc, "since_epoch")
[2023-09-10 18:53:58 kvmd-watchdog.service] ---           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2023-09-10 18:53:58 kvmd-watchdog.service] ---   File "/usr/lib/python3.11/site-packages/kvmd/apps/watchdog/__init__.py", line 47, in _read_int
[2023-09-10 18:53:58 kvmd-watchdog.service] ---     with open(_join_rtc(rtc, key)) as file:
[2023-09-10 18:53:58 kvmd-watchdog.service] ---          ^^^^^^^^^^^^^^^^^^^^^^^^^
[2023-09-10 18:53:58 kvmd-watchdog.service] --- FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/rtc/rtc0/since_epoch'

1
2
3
4
5
6
7
8
9
[root@pikvm ~]# su -
[root@pikvm ~]# sudo hwclock -v
hwclock from util-linux 2.39.2
System Time: 1694361334.588385
Trying to open: /dev/rtc0
Trying to open: /dev/rtc
Trying to open: /dev/misc/rtc
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.

参考情報

一応公式資料に乗ってるぽいので参考に治す

systemctl disable --now kvmd-watchdog は下記フォーラムを参考にした

1
2
3
4
5
su -
rw
systemctl disable --now kvmd-watchdog

sed -i'.bk' -e 's/^dtoverlay=i2c-rtc,pcf8563$/dtoverlay=i2c-rtc,ds1307/g' /boot/config.txt

変更を確認し reboot する

1
2
3
4
5
6
[root@pikvm ~]# diff -u0 /boot/config.txt.bk /boot/config.txt
--- /boot/config.txt.bk 2023-09-10 19:03:22.000000000 +0300
+++ /boot/config.txt    2023-09-10 19:04:02.000000000 +0300
@@ -22 +22 @@
-dtoverlay=i2c-rtc,pcf8563
+dtoverlay=i2c-rtc,ds1307
1
reboot

再起動が完了したら、 Hardware clock を確認する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[kvmd-webterm@pikvm ~]$ su -
[root@pikvm ~]# timedatectl 
               Local time: Mon 2023-09-11 01:08:37 JST
           Universal time: Sun 2023-09-10 16:08:37 UTC
                 RTC time: Sun 2023-09-10 16:08:36
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

[root@pikvm ~]# sudo hwclock -w
[root@pikvm ~]# sudo hwclock -r
2023-09-10 19:09:38.656094+03:00

[root@pikvm ~]# ro

ro で読み取り専用に戻したら終わり。これでチャタリング自称は改善した。

最終更新 2024-05-09 01:13 +0900
Built with Hugo
テーマ StackJimmy によって設計されています。