专栏中心

EEPW首页 > 专栏 > 如何设置Linux时间

如何设置Linux时间

发布人:toradex 时间:2017-12-06 来源:工程师 发布文章

By Toradex 胡珊逢

 

1). 简介

 

在 Linux 系统中有两个很重要的时钟:硬件时钟 hardware clock,又称为 RTC、CMOS 或者 BIOS 时钟。这类时钟需要使用外部电池供电,即使在系统关机其仍旧可以保持计时。第二种时钟称为系统时钟 system clock,其由操作系统维护。当系统启动时,从硬件时钟读取时间信息,并将其应用于系统时钟。

 

本文以Toradex ARM平台为例演示如何设置Linux时间,Toradex评估板都有一个硬件 RTC ST M41T0 通过 I2C 总线与计算机模块相连接。

 

 

2). 具体操作

 

Toradex Linux BSP 自 V2.1 版本开始使用systemd-timedated和timedatectl 命令,自 V2.4 使用sytemd-timesyncd 通过 NTP 网络同步时钟。使用timedatectl 命令设置后会立即同步到硬件时钟。也可以使用hwclock 命令来操作硬件时钟。下面将介绍如何设置时间和时区。

 

使用timedatectl 命令获取当前时间

-------------------------------------------

# timedatectl

Local time: Mon 2014-05-26 11:29:40 UTC

Universal time: Mon 2014-05-26 11:29:40 UTC

RTC time: Mon 2014-05-26 11:29:39

Timezone: Universal (UTC, +0000)

NTP enabled: n/a

NTP synchronized: yes

RTC in local TZ: no

DST active: n/a

-------------------------------------------

 

默认情况下系统被设置为 UTC-0 时区,针对中国地区需要更改配置,在联网情况下执行下面命令

-------------------------------------------

root@colibri-vf:~# opkg update

root@colibri-vf:~# opkg install tzdata-asia

root@colibri-vf:~# timedatectl set-timezone Asia/Shanghai

 

root@colibri-vf:~# timedatectl 

Local time: Fri 2017-12-01 16:56:37 CST

Universal time: Fri 2017-12-01 08:56:37 UTC

RTC time: Fri 2017-12-01 08:56:37

Time zone: Asia/Shanghai (CST, +0800)

Network time on: yes

NTP synchronized: no

RTC in local TZ: no

-------------------------------------------

 

此时时区 Time zone 以及被正确设置。

 

设置时间

-------------------------------------------

root@colibri-vf:~# timedatectl set-time "2017-12-01 16:54:37"

-------------------------------------------

 

Toradex Linux BSP 支持 NTP,设置好 NTP 服务器后可以从网络同步时间。编辑/etc/systemd/timesyncd.conf 添加 NTP 服务器地址。如果需要使用自己的服务器,可以将相应的地址添加进来即可。

-------------------------------------------

root@colibri-vf:~# cat /etc/systemd/timesyncd.conf

[Time]

NTP=0.cn.pool.ntp.org 1.cn.pool.ntp.org 2.cn.pool.ntp.org 3.cn.pool.ntp.org

-------------------------------------------

 

配置完成会自动同步,NTP synchronized 显示网络同步状态

-------------------------------------------

root@colibri-vf:~# timedatectl

Local time: Fri 2017-12-01 17:14:03 CST

Universal time: Fri 2017-12-01 09:14:03 UTC

RTC time: Fri 2017-12-01 09:14:04

Time zone: Asia/Shanghai (CST, +0800)

Network time on: yes

NTP synchronized: yes

RTC in local TZ: no

-------------------------------------------

 

对于不需要 NTP 同步,通过下面命令禁用

-------------------------------------------

root@colibri-vf:~# timedatectl set-ntp false

-------------------------------------------

 

使用 hwclock 也可以直接修改硬件时钟

读取当前硬件时钟

-------------------------------------------

root@colibri-vf:~#  hwclock –r

-------------------------------------------

 

将系统时钟写入到硬件时钟

-------------------------------------------

root@colibri-vf:~#  hwclock –w

-------------------------------------------

 

将硬件时钟同步到系统时钟

-------------------------------------------

root@colibri-vf:~#  hwclock –s

-------------------------------------------

 

 

 

参考

https://developer.toradex.cn/knowledge-base/how-to-use-the-real-time-clock-in-linux


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

拆解:HP 8112A脉冲发生器

rs485 rs422接口芯片

“瑞萨杯2011全国大学生电子设计竞赛”新闻发布会②

智联招聘:2025年前五月机器人产业供需双升

智能养老机器人试点启动!超89万家企业入局

介绍适合 FPGA 和服务器背板的 LT3070 负载点稳压器

protelddb

资源下载 2007-03-27

2027 年 ASIC 将迎来繁荣?云服务提供商试图通过定制芯片超越英伟达

智能计算 2025-06-18

U盘1114的电路图和程序

嵌入式扩展板检查水质

电源设计小贴士 设计CCM反激式转换器

“瑞萨杯2011全国大学生电子设计竞赛”新闻发布会①

运算放大器的工作原理和原因,第 2 部分

有刷VS无刷 - 电机控制电子实验室第2章

视频 2011-07-04

Protel99se加自动汉化包全集

栅极驱动器 — 功率器件性能的关键环节:第 1 部分

汽车行业的机器人销售在欧洲仍然很高

越来越多的员工在使用人工智能,但企业仍然难以使其变得有用

“第三届OpenHW开放源码硬件与嵌入式大赛”于2011年6月正式启动

视频 2011-06-20
更多 培训课堂
更多 焦点
更多 视频

技术专区