linux开发板断电重启后rtc归0,fs2410 Linux-2.6.35内核移植中的RTC问题--drivers/rtc/hctosys.c: unable to open rtc device ...

本文详细介绍了在Linux系统中如何使用date和hwclock命令进行系统时间及硬件时钟的设置与同步。包括设置格式、常用选项及解决因year设置不当引起的问题。

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

下面来验证一下这个想法

# hwclock

Wed Dec 31 23:59:59 1969  0.000000 seconds

# date

Thu Jan  1 00:06:58 UTC 1970

系统时间是通过 date 来设置的, RTC 时间是通过 hwclock 来设置的。开机时系统时间首先通过 RTC 来获得,RTC没有设置时,系统时间也会使用Wed Dec 31 23:59:59 1969。

# hwclock --help

BusyBox v1.9.2 (2008-04-01 21:32:34 CST) multi-call binary

Usage: hwclock [-r|--show] [-s|--hctosys] [-w|--systohc] [-l|--localtime] [-u|--utc] [-f FILE]

Query and set a hardware clock (RTC)

Options:

-r       Read hardware clock and print result

-s      Set the system time from the hardware clock

-w      Set the hardware clock to the system time

-u      The hardware clock is kept in coordinated universal time

-l       The hardware clock is kept in local time

-f FILE      Use the specified clock (e.g. /dev/rtc2)

# hwclock -s

hwclock: settimeofday() failed: Invalid argument

# hwclock -w

s3c2410-rtc s3c2410-rtc: rtc only supports 100 years

hwclock: RTC_SET_TIME: Invalid argument

以上错误信息都是因为 year 设置不当引起的。没有设置 RTC , RTC 也不会启动计时。

下面首先设置正确的系统时间,然后将系统时间传递给 RTC 。

# date 040612282008.20

Sun Apr  6 12:28:20 UTC 2008

# hwclock -w

# hwclock

Sun Apr  6 12:29:01 2008  0.000000 seconds

# hwclock

Sun Apr  6 12:30:15 2008  0.000000 seconds

Ok , RTC 开始工作了!

为了使系统时间和 RTC 时间同步,可以在初始化文件中添加命令

Hwclock –s

使每次开机时读取 RTC 时间,并同步给系统时间。

在 etc/init.d/rcS 中添加

/bin/hwclock -s

时间设置的相关命令

1. 在虚拟终端中使用date 命令来查看和设置系统时间

查看系统时钟的操作:

# date

设置系统时钟的操作:

# date 091713272003.30

通用的设置格式:

# date 月日时分年. 秒

2. 使用hwclock 或clock 命令查看和设置硬件时钟

查看硬件时钟的操作:

# hwclock --show 或

# clock --show

2003年 09月 17日 星期三 13 时24 分11 秒 -0.482735 seconds

设置硬件时钟的操作:

# hwclock --set --date="09/17/2003 13:26:00"

或者

# clock --set --date="09/17/2003 13:26:00"

通用的设置格式:hwclock/clock --set --date=“ 月/ 日/ 年时:分:秒” 。

3. 同步系统时钟和硬件时钟

Linux 系统( 笔者使用的是Red Hat 8.0 ,其它系统没有做过实验) 默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话( 服务器通常很少重启) ,使用clock 或hwclock 命令来同步系统时钟和硬件时钟。

硬件时钟与系统时钟同步:

# hwclock --hctosys

或者

# clock --hctosys

上面命令中,--hctosys 表示Hardware Clock to SYStem clock 。

系统时钟和硬件时钟同步:

# hwclock --systohc

或者

# clock --systohc

使用图形化系统设置工具设置时间0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值