Hello,
I think there is a bug in the /etc/s6/sv/hwclock/down, the script is executed on system shutdown so it is supposed to save the value of the system clock to the hardware clock.
The current source code is: (taken from here (https://gitea.artixlinux.org/artix/s6-scripts/src/branch/master/hwclock/down))
#!/bin/execlineb -P
envfile /etc/s6/config/hwclock.conf
importas -uD "UTC" HARDWARECLOCK HARDWARECLOCK
ifelse { test $HARDWARECLOCK = UTC } { hwclock --systz --utc --noadjfile } hwclock --systz --localtime --noadjfile
The --systz option does not save anything to the hw clock (it is the option used in start), I believe both occurrencies of --systz should be replaced with --systohc, like in the runit script (https://gitea.artixlinux.org/artix/runit-rc/src/branch/master/sv.d/hwclock.in)
I realize this is an old post, but I wanted to voice my agreement that this should be changed. No wonder I have to keep manually setting the hardware time if the adjustments made by a ntp daemon are never saved!
From the hwclock man page
As noted by the OP and the man pages, --systz appears to be pointless on shutdown.
Thanks for bumping this one. I completely missed this report. Yes, systz is incorrect on the down script. I've just pushed the fixed version of s6-scripts to system-gremlins.