File: mergeall-products/unzipped/docetc/miscnotes/linux-fat32-exfat-timestamps.txt
Testing results and notes for FAT32 and exFAT drive timestamps on Linux. Recent Linux exFAT status => https://github.com/relan/exfat/issues/38 The version installed by Ubuntu appears to handle simulated DST rollovers, but not timezone changes. All resuls are versus files on a linux local drive, whose times change on tz change only. The system was not rebooted before some tests (though it might not be in practice either). *reboot* timedatectl set-local-rtc 0 (recommended by Linux) initially fat32 off by -8 hours exfat agrees with linux local drive set time+date and wait for DST (post reboot or not) local unchanged fat32 still off by -8 hours (unchanged) exfat agrees with linux local drive set timezone only local plus one hour fat32 off by -1 hour from linux local drive exfat off by -1 hour from linux local drive set date in future post DST (after resetting intial time, date and tz: fat32 now agrees with linux local; why?) fat32 agrees exfat agrees after rebooting, fat32 is -8 hours off, exfat agrees *reboot* timedatectl set-local-rtc 1 (not recommended, but useful on dual-boot systems) initially fat32 agrees exfat agrees set time+date and wait for DST (post an extra reboot or not) local unchanged fat32 agrees exfat agrees set timezone only local plus 1 hour fat32 off by -1 hour from linux local drive exfat off by -1 hour from linux local drive set date in future post DST fat32 agrees exfat agrees Related quotes from the web and man pages: """ To avoid problems with time zone and DST switching, it is recommended to keep the hardware clock in UTC. The shown Example 2.11, Synchronizing the Hardware Clock with System Time is useful, for example, in case of a multi boot with a Windows system, which assumes the hardware clock runs in local time by default, and all other systems need to accommodate to it by using local time as well. It may also be needed with a virtual machine; if the virtual hardware clock provided by the host is running in local time, the guest system needs to be configured to use local time, too. """ """ set-local-rtc [BOOL] Takes a boolean argument. If "0", the system is configured to maintain the RTC in universal time. If "1", it will maintain the RTC in local time instead. Note that maintaining the RTC in the local timezone is not fully supported and will create various problems with time zone changes and daylight saving adjustments. If at all possible, keep the RTC in UTC mode. Note that invoking this will also synchronize the RTC from the system clock, unless --adjust-system-clock is passed (see above). """ """ If you have multiple operating systems installed in the same machine, they will all derive the current time from the same hardware clock: for this reason you must make sure that all of them see the hardware clock as providing time in the same chosen standard, or some of them will perform the time zone adjustement for the system clock, while others will not. In particular, it is recommended to set the hardware clock to UTC, in order to avoid conflicts between the installed operating systems. For example, if the hardware clock was set to localtime, more than one operating system may adjust it after a DST change, thus resulting in an overcorrection; more problems may arise when travelling between different time zones and using one of the operating systems to reset the system/hardware clock. """