边缘计算【智能+安全检测】系列教程--agx orin解决RTC时间问题

因为是离线运行,首要问题是时间不准确,就在主板上加装了纽扣电池,但是会有一系列问题,比如无法将RTC时间回写到系统时间,或者无法将系统时间写到RTC中等等一些列问题。为解决这些问题,一劳永逸的方式,修改完RTC后,直接使用date -s 进行回写系统,具体步骤如下:

1.查看系统硬件设备树相关的信息

bash 复制代码
nvidia@orin:~$ sudo dmesg | grep DTB
[sudo] password for nvidia:
[ 0.003912] DTB Build time: Aug 10 2022 20:31:40
nvidia@orin:~$ sudo dmesg | grep DTS
[ 0.003900] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/kernel-5.10/arch/arm64/boot/dts/.../.../.../.../.../.../hardware/nvidia/platform/t23x/concord/kernel-dts/tegra234-p3701-0000-p3737-0000.dts
nvidia@orin:~$ uname -a
Linux orin 5.10.104-tegra #1 SMP PREEMPT Wed Aug 10 20:17:07 PDT 2022 aarch64 aarch64 aarch64 GNU/Linux

2.设置系统时间

bash 复制代码
nvidia@orin:~$ date
Thu 21 Apr 2022 08:58:36 AM EDT
nvidia@orin:~$ date -s "2024-10-19 17:23:00"
date: cannot set date: Operation not permitted
Mon 19 Sep 2022 05:23:00 PM EDT
nvidia@orin:~$ sudo date -s "2024-10-19 17:23:00"
  1. 修改系统时钟为rtc0。 vim /lib/udev/rules.d/50-udev-default.rules
bash 复制代码
SUBSYSTEM=="rtc", ATTR{hctosys}=="0", SYMLINK+="rtc"
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"

4.查看系统对应的时钟信息,为rtc0,还是rtc1

bash 复制代码
 ls -al /dev/rtc*

5.将系统时间写入RTC中

先看一下hwclock -h有哪些命令

执行以下命令,如果快捷方式指向rtc0,下面就写rtc0,如果是rtc1,就为rtc1。

bash 复制代码
Mon 19 Sep 2022 05:23:00 PM EDT
nvidia@orin:~$ sudo hwclock -w -f /dev/rtc0
[sudo] password for nvidia:

执行下述命令查看是否写入

bash 复制代码
nvidia@orin:~$ timedatectl **

写入成功后如上图。

bash 复制代码
nvidia@orin:~$ sudo reboot

6.开机修改时间的shell脚本

bash 复制代码
hwclock -s  # 将rtc时间回写到系统

如果上述脚本无法执行,就使用下面的脚本

bash 复制代码
#! /bin/bash

# 修改时间
SUDOPASS='用户管理员密码'
RTC_TIME=$(timedatectl | grep 'RTC time' | awk '{print$3, $4,$5}')

# 检查是否成功获取了时间
if [ -z "$RTC_TIME" ]; then
  echo "无法获取RTC时间,跳过设置系统时间。"
else
  echo $SUDOPASS | sudo -S date -s "$RTC_TIME"
fi
相关推荐
Johny_Zhao几秒前
Ubuntu安装部署Zabbix网络监控平台和设备配置添加
linux·网络·mysql·网络安全·信息安全·云计算·apache·zabbix·shell·yum源·系统运维·itsm
szxinmai主板定制专家10 分钟前
基于TI AM6442+FPGA解决方案,支持6网口,4路CAN,8个串口
arm开发·人工智能·fpga开发
chennalC#c.h.JA Ptho25 分钟前
kubuntu系统详解
linux·数据库·经验分享·postgresql·系统安全
龙湾开发29 分钟前
轻量级高性能推理引擎MNN 学习笔记 02.MNN主要API
人工智能·笔记·学习·机器学习·mnn
熙曦Sakura30 分钟前
【Linux网络】HTTPS
linux·网络·https
铁锚32 分钟前
一个WordPress连续登录失败的问题排查
java·linux·服务器·nginx·tomcat
程序视点1 小时前
Linux中find命令用法核心要点提炼
linux·linux命令·linux指令·linux的find命令
CopyLower1 小时前
Java与AI技术结合:从机器学习到生成式AI的实践
java·人工智能·机器学习
workflower1 小时前
使用谱聚类将相似度矩阵分为2类
人工智能·深度学习·算法·机器学习·设计模式·软件工程·软件需求
jndingxin1 小时前
OpenCV CUDA 模块中在 GPU 上对图像或矩阵进行 翻转(镜像)操作的一个函数 flip()
人工智能·opencv