Understanding Timezone in Linux
I'm trying to understand how in detail Linux handles timezones. Unfortunately the things I've found in my google searches hasn't quite been what I need. We are trying to produce an embedded system that doesn't have space for the entire tz/zoneinfo database.
The one concern one of our clients is having is wanting the system to print local timestamps onto an SD card or USB flash drive (vfat filesystems). Linux writes the timestamps as UTC, however it appears on my Fedora box it appears correctly on windows (Though could this be a result of my dual-boot system time not being UTC but local). It would also be desirable that when the timezone is changed in our gui would be reflected in the serial console as well.
I'm unfortunately still a bit of a Linux newb. Strong in some areas but pathetically weak in others.
Obviously this is a non-standard environment but I will try to explain it as best I can. Our kernel is launched by u-boot. We have use kernels 2.4.21 and 2.6.12 (modified for our platform). We are using an omap processor. We launch a script at the end of rc.sysinit that launches our gui and sets the TZ environment variable. Our gui also writes the timezone to a file and set the TZ variable with that.
I think pointing me to some resources on how the kernel, shell, graphical environment, handle timezone. Curiously I tried just putting America/Vancouver from fedora as the /etc/localtime but that didn't have an effect. Also if anyone knows how redhat correctly sets local time on vfat sd cards that would be helpful.
|