timezoneinfo移植

1.下载tzdata和tzcode:

该软件的下载地址如下: https://www.iana.org/time-zones 下载: tzdata2019g.tar.gz和
tzcode2019g.tar.gz。 tzdata是时区信息的数据库,tzcode是时区的一些命令和用于生成时区数据库的工具。

tz数据库的生成需要一个命令,其为zic。zic是一个二进制文件,我们编译生成的能在target上运行的二进制文件,用该二进制文件生成tz数据库

2.解压tzdata和tzcode:
新建一个目录tz

把tzdata2019g.tar.gz和tzcode2019g.tar.gz,拷贝到tz目录,然后解压到当前目录

修改makefile

找到cc =cc 修改为自己的编译器

#cc=        cc
cc=        arm-linux-gnueabihf-gcc
CC=        $(cc) -DTZDIR='"$(TZDIR)"'

AR=        arm-linux-gnueabihf-ar 

3编译

然后make 

新建一个tzdir目录

 make TOPDIR=/home/work/freescale/tzdir install

安装到tzdir目录

然后把tzdir的文件拷贝到文件系统的根目录下

4.在shell终端中导出环境变量(也可以添加到profile中):

export TZDIR="/usr/local/etc/zoneinfo"
export TZ="Asia/Shanghai"

改变时区,输入date命令验证即可!

在虚拟机上编译后 执行install好像会出错,需要把编译好的文件拷贝到arm板,自己手动install

我写了个脚本文件install.sh

#!/bin/sh
./zic  -y ./yearistype -d /usr/local/etc/zoneinfo -L /dev/null africa antarctica asia australasia europe northamerica southamerica pacificnew etcetera backward systemv factory
rm -fr /usr/local/etc/zoneinfo-posix

ln -s zoneinfo /usr/local/etc/zoneinfo-posix || ./zic  -y ./yearistype -d /usr/local/etc/zoneinfo-posix -L /dev/null africa antarctica asia australasia europe northamerica southamerica pacificnew etcetera backward systemv factory

./zic  -y ./yearistype -d /usr/local/etc/zoneinfo-leaps -L leapseconds africa antarctica asia australasia europe northamerica southamerica pacificnew etcetera backward systemv factory
cp -f iso3166.tab zone1970.tab zone.tab /usr/local/etc/zoneinfo/.
cp tzselect zic zdump /usr/bin/.

然后按照上面的第4步就可以了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值