嵌入式linux 时区的设置?

zhoujiawen 2012-08-06 10:44:43
由于历史原因,我需要将我的机器设置为美国山地时间(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
/ #
什么硬件时间和本地时间差一个时区,
...全文
884 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoujiawen 2012-08-08
  • 打赏
  • 举报
回复
复制了一个FedoraCore4下的MST7MDT到FC14下,zdump查看,是按照旧标准的时间,但是把它设置成该时间后,发现不起作用,好像解析不了?
zhoujiawen 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你的根文件系统基于busybox做的还是lfs做的
buxybox的话我也没有经验
你可以google busybox localtime 看看老外解决没
[/Quote]

是busybox做的,较早的系统是MST7MDT时区,支持/etc/TZ文件,是uclibc解析的,现在的没有支持这个文件(或者我没有找到),可以使用/etc/localtime配置时区文件,这个我已经做好了,但是现在又有个新问题,以前的系统较老,时区转换是4月的第一个周日和10月的最后一个周日,但是2007年美国又通过修订了能源法案,将时区拉长了,变成3月的第二个周日,和11月的一个周日,我在pc端(FC14)复制的zoneinfo下的MST7MDT的文件全部是按照新法案的,最后google发现墨西哥还是4月开始,在pc端测试后,发现使用American/Mazatlan这个时区文件是可以的,4月进10月出,但是我感觉支持不是很好,哪位大哥有较早版本的发行版本下的时区文件啊,我估计FedoraCore1下的MST7MDT应该是可以的?

可以在PC端查看时区文件信息
zdump -v MST7MDT | grep 2012 会显示进入夏令制和退出夏令制的日期
MST7MDT Sun Mar 11 08:59:59 2012 UTC = Sun Mar 11 01:59:59 2012 MST isdst=0 gmtoff=-25200
MST7MDT Sun Mar 11 09:00:00 2012 UTC = Sun Mar 11 03:00:00 2012 MDT isdst=1 gmtoff=-21600
MST7MDT Sun Nov 4 07:59:59 2012 UTC = Sun Nov 4 01:59:59 2012 MDT isdst=1 gmtoff=-21600
MST7MDT Sun Nov 4 08:00:00 2012 UTC = Sun Nov 4 01:00:00 2012 MST isdst=0 gmtoff=-25200

很明显是3月进11月出,谁有老的MST7MDT发给我下,谢谢
zdump -v MST7MDT可以显示每一年的时区信息
而zdum -v Mazatlan只显示了1902和2038年的信息,还有警告,所以想找个老的MST7MDT文件

wuxiaoke2009 2012-08-06
  • 打赏
  • 举报
回复
应该和RTC有关吧
zhoujiawen 2012-08-06
  • 打赏
  • 举报
回复
或者说date写入的本地时间??

date -s 11:50:00 设置本地时间
hwclock -w 写入时钟芯片,实际上写入的是本地时间

hwclock -r 查看硬件时间
Mon Aug 6 11:50:09 2012 0.000000 seconds 硬件时间为本地时间
/ # date
Mon Aug 6 11:50:32 MDT 2012 本地时间为MDT时区


断电重启---》
rtc-rs5c372 3-0032: setting system clock to 2012-08-06 11:51:14 UTC (1344253874)
显示的为硬件时间,即上次写入的时间信息

/ # date
Mon Aug 6 05:52:03 MDT 2012 显示本地时间
/ # hwclock -r
Mon Aug 6 11:52:14 2012 0.000000 seconds 显示硬件时间

我认为系统开机后,认为rtc里面的时间为utc时间,设置系统时间后,在读取localtime信息转换成本地时间,但是在写入rtc时,date写入的是本地时间,这样在上电重启后,认为rtc的时间为utc时间则会进行时区转换,实际上rtc中的时间已经是本地时间,这个问题应该怎样解决

1.如何让写入的时间为utc时间
2.如何让系统支持/etc/TZ文件
deep_pro 2012-08-06
  • 打赏
  • 举报
回复
你的根文件系统基于busybox做的还是lfs做的
buxybox的话我也没有经验
你可以google busybox localtime 看看老外解决没
计算机网络技术专业 《Linux系统管理》课程标准 课程编号: 适用专业:计算机网络技术专业 课程类别:职业能力课 修课方式:必修 教学时数:64 学分:4学分 一、课程定位 (1)课程任务 本课程是计算机网络技术专业(嵌入式方向)的核心专业职业技能必修课程。 通过本课程的学习,使学生较为全面地了解Linux操作系统,培养学生运用Linux操作 系统的基本技能,奠定在Linux系统进行嵌入式开发的基础,对学生从事Linux嵌入式开 发、Linux嵌入式产品技术支持等工作岗位的职业能力和职业素质养成起主要支撑作用。 (2)课程衔接 在课程设置上,前导课程有《计算机网络基础》,《网络互联技术》,《交换机路由器的 配置与管理》,后续课程有《嵌入式系统与应用》、《Linux嵌入式编》等。 二、学习目标 通过本课程学习,使学生能够全面了解linux操作系统,培养学生运用linux系统的基 本技能,奠定在linux系统进行嵌入式开发的基础,教材内容选取典型工作岗位的工作任 务、工作过程和知识-技能-素质的综合性。 1.第一部分基础知识 掌握Linux系统的安装、X Window图形用户界面和应用软件、Shell基本命令; 2.第二部分系统管理 掌握用户和组管理、磁盘管理与文件系统管理、逻辑卷管理、进程管理、软件管理、服 务管理法; 3.第三部分网络配置 网络基础、访问网络文件共享服务、管理常用网络服务、常用网络服务器配置; 4.第四部分安全设置 掌握Linux安全设置、LDAP网络用户配置、防火墙基本配置、SELinux的配置; 5.第五部分故障排除 掌握Linux引导过程与内核管理、系统恢复与故障排除; 三、课程设计 本课程共设计了9个典型的项目作为学习情境,根据岗位(群)工作任务要求,确定 学习目标及学习任务内容;本课程采取项目教学模式,以学生为主体,遵循"知识够用, 能力为本"的设计要求组织教学及考核,使学生具有分析、配置、维护Linux系统的初步 能力。 表1 课程总体设计 "序号 "情境名称 "情境描述 "参考学时 " "一 "Linux基础 "通过Anaconda "6 " " " "进行图形安装 " " "二 "Shell命令 "Shell命令概述、程序编辑"8 " " " "器vim " " "三 "用户和组管理 "使用用户管理器管理用户 "8 " " " "和组 " " "四 "磁盘和文件系统管理 "文件系统的挂载 "4 " "五 "网络基础 "网络的基本配置 "6 " "六 "常用服务器管理 "Web、FTP、DNS、DHCP、Ma"12 " " " "il服务 " " "七 "Linux安全设置 "文件的安全设置ACL "8 " "八 "LDAP网络用户配置 "使用LDAP服务器进行网络 "8 " " " "身份认证 " " "九 "系统故障恢复与排除 "系统故障排除基础 "6 " "计划总学时 "64 " 四、教学设计 表2 学习情境设计 "学习情境一:Linux基础 "学时:6 " "学习任务 "1.Linux的特点和组成。 " " "2.通过Anaconda 进行图形安装。 " " "3.安装后的初始化配置。 " "学习目标 "1.掌握Anaconda 进行图形安装。 " " "2.掌握Kickstart进行自动安装。 " " "3.掌握PXE网络安装。 " " "4.掌握初始化配置 " "学习内容 "1.Anaconda 进行图形安装; " " "2.Kickstart进行自动安装; " " "3.PXE网络安装; " "教学模式 "项目教学 " "学习过程 "安装程序的引导方式 " " "光盘引导 " " "USB设备引导 " " "软件包读取方式 " " "光盘 " " "默认的方式,通过本机的光盘设备提供安装文件 " " "硬盘 " " "通过本地硬盘中的 .ISO 镜像提供安装文件 " " "网络服务器 " " "通过NFS、FTP或HTTP服务器提供安装文件 " " "启动安装程序 " " "设置主机引导设备为光盘驱动器 " " "从安装光盘启动主机 " " "检测光盘介质的完整性 " " "配置安装程序 " " "显示选择语言、键盘类型、初始化磁盘、分区 " " "设置网络地址、系统时区、管理员口令 " " "定制要安装的软件包 " " "软件包复制及安装过程 " " "需15~30分钟 " " "注意事项 " " "提示1: " " "进行Linux系统安装前应确认硬盘数据已备份 " " "启动Linux安装程序前应确认主机CMOS设置中的启动顺" " "序为光盘驱动器优先 " " "应牢记安装过程中设置的root用户的口令 " " " " " "提示2: " " "安装完成后应取出Linux

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧