How to correctly set hardware time as local time in Manjaro live environment GRUB?

On systems that I’m multibooting with other OSes that do not support UTC such as DOS and older Windows that predated the introduction of the RealTimeIsUniversal flag, I’d like to make the live environment use local time instead of UTC.

I don’t know if this is an issue or intended behavior (as it has always been this case for the past couple of years), but the time setting (which toggles whether your hardware time is that of a timezone or utc) in the GRUB boot screen of the live environment does not really have any effect, as once booted to the live environment’s DE it always assumes your hardware clock is UTC and offsets it with the timezone you specified, which would be incorrect unless you live in the UTC (0) timezone (for which hardware time is UTC or not no longer matters).

While it’s possible to manually use Manjaro’s Date/Time setting (from Manjaro Settings Manager) to correctly tell the system that hardware clock is set to local time, if left uncorrected, the wrong time would create headaches in some cases:

  • Any time synchronization trigger (perhaps during installation) would end up setting your hardware time back to UTC which is not desired.
  • If you want to use pacman to bring in more packages into the live environment, unless you live in the UTC (0) timezone, the difference in the time shown on your system to the actual UTC time would make the system not trust the keys, requiring you to disable signature checking to allow the install to complete.

Hi @lss4,

Perhaps this helps:

https://wiki.archlinux.org/title/System_time

Hope it does!

Edit:

I recommend working through and understanding everything, but I’m thinking this is what you’re looking for:

To change the hardware clock time standard to localtime, use:

# timedatectl set-local-rtc 1
1 Like

Manjaro Settings Manager Time and Date - Manjaro Wiki

Enable 2nd option Hardware clock in local time zone

2 Likes

Thanks for everyone’s reply. I already knew how to set this up once I booted into the system, be it the live environment or an installed instance…

The main issue is about that option toggle in live USB’s GRUB, which can be either Time: xx:xx <your timezone> or Time: xx:xx utc but it made no difference in practice.

The former is the default. However, as the bootloader assumes UTC (0) by default, it looked like Time: xx:xx UTC (in uppercase) which made it less distinguishable with the latter (utc in lowercase regardless of timezone).

Ideally I’d want to be able to specify whether hardware time is local or UTC while in GRUB and use the live environment without all those hassle…