ubuntu 20.04 rtc时间显示问题探究

在RK3568芯片上运行的Ubuntu20.04系统中,若RTC驱动不可用或RTC时间无效,系统会使用上次有效时间,并在每次上电时不联网时按此时间计数。如果联网,系统会自动同步网络时间。测试显示,未同步时间的新系统可能会导致应用程序因时间问题报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、硬件与软件

        本次测试的硬件为RK3568芯片,操作系统为ubuntu 20.04。

 2、RTC与系统时间

       先说结果,如果RTC驱动不可用或者RTC内部存储的时间非法, 那么操作系统会存储上一次有效的时间,当再次上电时,date命令会使用存储的时间为起始,向后计时。如果没有RTC驱动,操作系统能联网同步时间,每次上电都会自动同步网络时间到系统时间,date读取到的就是正确的北京时间。

     下面是一些测试记录,在操作系统不联网的情况下进行重复上电操作,RTC在断电后不会维持供电,并读取系统时间。

RTC不带电容多次上电测试系统时间
1、上电eiota@firefly:~$ date
Tue 25 Jul 2023 04:18:18 PM CST

eiota@firefly:~$ sudo hwclock -r
[sudo] password for eiota:
2023-07-25 08:01:52.750005+08:00

2、Last login: Tue Jul 25 16:18:04 2023 from 10.10.26.92
eiota@firefly:~$ date
Tue 25 Jul 2023 04:18:29 PM CST
eiota@firefly:~$

3、eiota@firefly:~$ date
Tue 25 Jul 2023 04:22:39 PM CST
eiota@firefly:~$ sudo hwclock -r
[sudo] password for eiota:
2023-07-25 08:05:41.252411+08:00

4、
Last login: Tue Jul 25 16:22:33 2023 from 10.10.26.92
eiota@firefly:~$ date
Tue 25 Jul 2023 04:17:53 PM CST
eiota@firefly:~$ sudo hwclock -r
[sudo] password for eiota:
2023-07-25 08:00:43.260777+08:00
eiota@firefly:~$

5、联网同步过一次时间后,上电启动时间变成17:08了,说明linux系统会保存一个上一次的时间
Last login: Tue Jul 25 17:08:02 2023 from 10.10.26.92
eiota@firefly:~$ date
Tue 25 Jul 2023 05:07:53 PM CST
eiota@firefly:~$ date
Tue 25 Jul 2023 05:07:55 PM CST
eiota@firefly:~$ sudo hwclock -r
[sudo] password for eiota:
2023-07-25 08:00:58.126505+08:00
eiota@firefly:~$ date
Tue 25 Jul 2023 05:08:08 PM CST

6、Last login: Tue Jul 25 17:07:51 2023 from 10.10.26.92
dateeiota@firefly:~$ date
Tue 25 Jul 2023 05:07:43 PM CST

7、eiota@firefly:~$ date
Tue 25 Jul 2023 05:30:26 PM CST
eiota@firefly:~$
eiota@firefly:~$ sudo hwclock -r
[sudo] password for eiota:
2023-07-25 08:00:44.516689+08:00
eiota@firefly:~$

      

       对于一个新烧写的系统,由于可能没有同步过时间,操作系统第一次启动时,RTC内部读取到错误的时间,并且没有存储的时间,执行date命令会无法读取到时间,这时启动的应用程序中如果使用时间,程序运行就会报错。

### Ubuntu 20.04 实现全屏显示的方法 在 VMware 虚拟机环境中运行 Ubuntu 20.04 时,可能会遇到无法自动调整屏幕分辨率的情况。以下是具体的解决方法: #### 更新软件源 为了确保后续安装过程顺利进行,建议先更新系统的软件源: ```bash sudo apt update ``` #### 安装 `open-vm-tools` 和 `open-vm-tools-desktop` 这两个工具包提供了与 VMware 的集成支持,能够帮助实现全屏模式以及动态调整分辨率等功能。执行以下命令完成安装: ```bash sudo apt install open-vm-tools open-vm-tools-desktop ``` 此步骤完成后,通常可以解决大部分关于全屏显示问题[^2]。 #### 重启虚拟机 安装完毕后,需重新启动虚拟机以使更改生效。可以通过图形界面手动重启,也可以使用终端命令: ```bash sudo reboot ``` 如果上述操作仍然未能解决问题,则可能需要进一步排查其他潜在原因,比如硬件加速配置或显卡驱动兼容性等问题。 对于 VirtualBox 用户而言,其处理方式略有不同。主要依赖于 Oracle 提供的 Guest Additions 功能来增强客户操作系统的表现效果。具体做法包括但不限于开启菜单栏中的“设备”选项找到对应的光盘映像加载入口并依照指示完成相应程序部署;当遭遇缺少构建环境报错消息时,则应先行补充基础开发组件如 GCC 编译器、Make 工具链还有 Perl 解释引擎等资源后再试一次整个流程[^3]。 值得注意的是,在某些特殊场景下单独依靠官方途径获取最新版补丁文件或许不够及时有效率高,此时可考虑切换至更贴近本地网络状况优化过的第三方镜像站点作为临时替代方案之一来进行快速同步升级工作以便尽快恢复正常用户体验水平。 ```python print("以上即为针对Ubuntu 20.04在VMware环境下达成全屏可视化的常规处置手段概述") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值