I would not use clockVM at all.
You have hwclock, the xtal controlled clock of your
computer sits in the “southbridge” and the clock jitter is low. So for the uptime of a desktop you would not see clock drift here.
So the suggested approach is to get the correct clock using ntp and then issue hwclock --systohc
So your cmos clock which sits in the southbridge
gets updated. This is enough and if you have 2 weeks uptime, look at the drift file of ntp and you will know for your hw clock.
Small story on RTC:
The Dallas Battery+Xtal in a yellow cap clocks used in Sun (RIP) workstations that time were very stable.
Most PC cmos clicks are less stable as your mainboard manufacturer uses the cheapest 2^15 Hz Xtals they could get. So get a low drift xtal and do a small soldering step to replace it, read the chipset manual to see the capacitance they want in their reference circuit and you can assume that the lazy designer used just these capacitors without further research. Get a sample of a premium xtal made for this capacitance and you have less drift, if it really of concern.
** Setting the time once is enough for a desktop
The perfect time to set your RTC would be the boot up phase.
“Unfortunately” there is no network in dom0,
so you just need a means to control the cmos clock from a trusted instance and to let the instance know the actual time.
What you can do for sure is the following:
Get NMEA text from a gps receiver which has a fix.
Then use /dev/ttyS0 or the like to read the gps at 4800,n,8,1 iirc.
So there is no trace of you asking for the time using NTP.
GPS is receive only, and there are many used and new gps modules out there.
Also there are “gps mice” which unfortunately use usb to include a ftdi style usb serial interface to the actual gps receiver. But you want evil usb to be in a HVM with your USB controllers.
Older gps mice have real rs232, also garmin gps receivers which have been used to do geocaching in former times can be hooked up to serial to get the nmea and to extract position and time.
You can use gpsd and ntp on dom0 with your gps
Another approach would be to boot into a small linux that just uses ntp over tor (if it is possible because of high jitter in the network, tor is the opposite of realtime ) or some vpn.
And then sets your hwclock using
But the gps receiver using a serial interface approach is much nicer as there are no traces as it is a receiver only.
BTW many boards have a “TPM connector” this is intel LPC (low pincount bus) a castrated ISA bus running at 33MHz iirc.
Do you should buy their fancy tpm addon board to connect to the TPM pinheader or you can use it as a “hackerport”.
There are and have been “superio” bridges to LPC so you can connect a real 16550 style rs232 using lpc.
Also there is at least one open source LPC fpga core, to allow you some isa style memory mapped IO as has been done with the original ISA soundblaster board and many fancy scientific ISA cards of the 1990s…
Or use a Dell T7500, which also has a real serial and a parallel port.
Oh, I love this machine… 196G RAM, 12cores and all the legacy stuff can be used…
But ISA is missing. The idiots should have included a pci to isa bridge as is was done in the i440BX chipset.
I need to look for LPC by the way. If there is no LPC connector, and also no footprint for the pcb designers to help with board bring-up, you can hw mod an LPC connector to many boards:
LPC could be hacked with mainboards that use a “firmware hub” iirc, a special flash made by intel to be connected to their fancy LPC.
So de-soldering the FirmwareHub (bios chip) and replacing it with a pcb that contains a connector to interface to a small ribbon cable that in turn has a LPC connection (TPM plug) could help here.
You can also do the stunt by desoldering your tpm if it uses LPC.
Dont forget to connect your Firmware hub and the tpm you desoldered to LPC.
Then you can make a LPC legacy interface.
BTW, if you are interested in such we could develop it, an LPC to legacy board and some fixtures to get it connected. (I was mainboard designer some time ago.)
But for me alone it would be nice but I don’t want to spend the time.