Scenario:
a Dell R740 server for example whose BIOS clock is first set, and it is set to UTC time but incorrectly and it is off 30 minutes. Then, a clean installation of Linux is performed (Redhat-8.10) and during installation the timezone is chosen,
New Yorkso EST. After installation, the time as presented in Linux viadateis the correct local time but off 30 minutes, if we reference a peek at time.gov for correct time. There is no network connection to this server and no NTP/chrony is set up.My observation is, if I manually adjust time to be correct (referencing time.gov from a different computer or my phone) by doing
date mmddhhmmand then reboot, Linux reads the BIOS clock and then after booting the time in Linux is off 30 minutes again.On my home computer which has an asrock motherboard and 2 different SSD's one for win10 the other for RHEL-8.10 Linux, and an internet connection, my BIOS clock is set to local time and I use win10 most of the time (and windows had NTP active). On the times I boot Linux, the time in Linux is the correct local time as presented by
datehowever when I shutdown and then run windows the time in windows is then off by 4 or 5 hours; I am EST/EDT timezone.
Also:
Windows expects the hardware clock to give “local time” by default. The reason is, according to Microsoft, so that users are not confused in BIOS menu; this is from a github page statement. Getting Windows to recognize BIOS (real-time-clock) as UTC apparently requires "tweaking"
- What is the deal with how Linux deals with the BIOS clock?
- Am I expected to use
hwclock <--systohc | --hctosys>? - What's the proper convention regarding what the BIOS clock is set to, UTC or local?
- I seem to experience two different behaviors of Linux where it assumes on a Dell {enterprise style} server that the BIOS clock is UTC but on my cheap home asrock it is set to local time; And playing at home setting my asrock bios clock to UTC causes way more problems.
- What are files in Linux dealing with this, to understand what Linux is going to do regarding time? Does it always reference the BIOS clock upon boot, and where is it specified in Linux for what timezone it should assume the BIOS clock to be in?