许多嵌入式Linux并不需要联网,因此时区并不重要,如果连网时,你可能希望它能反映本地的时区。
linux默认加载/etc/localtime文件设置时区, 如果板子里没有这个文件, 可以将ubuntu系统中的此文件拷贝到板子里, 时区即可设置成功。
事实上,/etc/localtime通常是个链接,指向真正的时区文件:
lrwxrwxrwx 1 root root 33 Jan 14 15:20 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
因此,通常可以在rootfs中添加tzdata这个时区软件包,它会安装所有的时区文件。
在Yocto系统定制过程中,有一个很重要的配置文件local.conf,它可以定制嵌入式Linux的各种特性,包括文件系统,网络配置和时区设置。
如果您想和桌面一样设置时区,可以在local.conf中配置,比如中国一般可以用
DEFAULT_TIMEZONE = "Asia/Shanghai"
这样也会在编译生成的镜像中安装时区软件包并配置好时区。一般时区文件并不大,所以这种在local.conf中配置的方法最为方便。