Home » Development and Build » Yocto Embedded Linux » How to add timezone info to root filesystem using Yocto ?

How to add timezone info to root filesystem using Yocto ?

Recently while debugging some issues we found that we were missing timezone related files into Yocto root filesystem, the debugging with strace shown the following error,

open("/usr/share/zoneinfo/UTC", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

The poky has a recipe for compiling the relevant files at poky/meta/recipes-extended/tzdata/ hence you can use below command to compile it,

$ bitbake tzdata

Once you have it compiled, you can add this files to the root filesystem by adding into IMAGE_INSTALL as,

IMAGE_INSTALL += "tzdata"

Now, after you boot this newly created root filesystem, we will get following messages at same place where it was failed previously in strace,

open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 16
fstat64(16, {st_mode=S_IFREG|0644, st_size=127, ...}) = 0
fstat64(16, {st_mode=S_IFREG|0644, st_size=127, ...}) = 0
read(16, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"..., 4096) = 127
_llseek(16, -6, [121], SEEK_CUR)        = 0
read(16, "\nUTC0\n", 4096)              = 6
close(16)                               = 0

1 thought on “How to add timezone info to root filesystem using Yocto ?”

Leave a Comment