[systemd-devel] Support machines with multiple RTCs?

Martin Langhoff martin.langhoff at gmail.com
Tue Nov 22 09:10:01 PST 2011


Hi list!

I have just been perusing the systemd code, and wondering whether it
supports systems that have two RTCs (where usually only one of them is
the battery-backed clock, the other isn't battery backed but can wake
the system up).

Background: OLPC's new laptop, XO-1.75, is an ARM SoC that has exactly
that configuration. Linux kernels from 2.6.32 (and maybe earlier) can
handle multiple RTCs, and let you configure which one to use to sync
the clock in early boot (so userland doesn't have to).

I have just reported a related bug in Fedora's initscripts (
https://bugzilla.redhat.com/show_bug.cgi?id=756089 ), and a quick
check of systemd sources hints at similar trouble here...

Two key things seem to be missing:

 #1 -- check for the hctosys property. If _any_ rtc present in the
system has sysfs attribute hctosys == 1, it means that the kernel took
care of it all, and userland doesn't need to call hwclock, at all.

 #2 -- is customary to prefer /dev/rtc if present -- so that we can
symlink to the right rtc from udev. src/util.c seems to hardcode rtc0.

With the rising popularity of ARM SoCs, it's probably worth sorting
out. Is any systemd hacker interested in a prototype XO-1.75 unit for
testing for these kinds of issues? :-)

BTW, I'm not sub'd to the list. Please CC me in your replies!

cheers,




m

-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- Software Architect - OLPC
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the systemd-devel mailing list