日期:2014-05-16  浏览次数:20704 次

嵌入式linux 时区的设置?
由于历史原因,我需要将我的机器设置为美国山地时间(MST7MDT),在此之前的设备有uclibc,只需要配置支持读取/etc/TZ文件后,设备的时间信息即可统一,现在一个新的linux系统,没有找到支持/etc/TZ的配置选项,按照网上的说法,我在PC段copy了usr/share/zoneinfo目录下的时区文件MST7MDT到目标板目录,并将其重命名为/etc/localtime,

这时所有设置之间的事件的时间信息都能统一转换,不在是相差6个小时,但是,我在设备界面实现手动调时后,所有设备的时间也都统一转换,也执行了hwclock,但一上电重启后,时间又被改了6小时,具体操作是这样的:

上电内核打印信息:
rtc-rs5c372 3-0032: setting system clock to 2012-08-06 10:20:29 UTC (1344248429)
/ # date
Mon Aug 6 04:20:53 MDT 2012

在界面调整时间后,或使用命令date -s 10:21:00,并hwclock -w后,
在date查看
/ # date
Mon Aug 6 10:21:17 MDT 2012 (时间也是对的,时区是MDT)

重新断电重启后,
rtc-rs5c372 3-0032: setting system clock to 2012-08-06 10:25:00 UTC (1344248700) (这个是什么时间????)
/ # date 
Mon Aug 6 04:25:23 MDT 2012(为什么又04点,时区也是MDT啊)


不知道这问题出现在哪里,

在终端执行hwclock -r和date查看时间后,显示如下
/ # hwclock -r
Mon Aug 6 10:46:36 2012 0.000000 seconds
/ # date
Mon Aug 6 04:46:56 MDT 2012
/ # 
什么硬件时间和本地时间差一个时区,


------解决方案--------------------
应该和RTC有关吧
------解决方案--------------------
你的根文件系统基于busybox做的还是lfs做的
buxybox的话我也没有经验
你可以google busybox localtime 看看老外解决没