Hello,
The time sequence on my "standard" system would be:
1. '/lib/udev/rules.d/50-udev-default.rules':
SUBSYSTEM=="rtc", DRIVERS=="rtc_cmos", SYMLINK+="rtc"
2. '/etc/udev/rules.d/55-lfs.rules':
# This causes the system clock to be set
# as soon as /dev/rtc becomes available.
SUBSYSTEM=="rtc", ACTION=="add", MODE="0644", \
RUN+="/etc/rc.d/init.d/setclock start"
KERNEL=="rtc", ACTION=="add", MODE="0644", \
RUN+="/etc/rc.d/init.d/setclock start"
------
I'm reformulating the questions/confusion of my OP:
1. FWIW, I don't see the relevance of rule 50-udev above (1)
2. What is a possible configuration that would trigger
the _SUBSYSTEM_ action in 55-lfs (2) ?
3. What is wrong with this '/etc/rc.d/rcsysinit.d/' sequence?
modules # modprobe's rtc
setclock # like I said, hwclock can handle the BIOS clock
udev # with 55-lfs.rules can "reinforce" the time
# just set by setclock.
Advantages: /dev nodes can show a more meaningful creation time.
Disadvantages: ?
4. I'm still puzzled about not being able to find any traces on the
console about 'setclock' being run by udev (55-lfs above).
Is it possible that "inside" udevd the standard message
"Setting system clock..." goes somewhere else? The log-fog?
Thanks,
-- Alex
------------------------------------------------------------------------
RTC relevant settings on my "standard" system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/linux-2.6.38.4]$ grep RTC .config
CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC=m
# CONFIG_GEN_RTC is not set
CONFIG_SND_RTCTIMER=m
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
# CONFIG_RTC_CLASS is not set
udevadm --version
167
ls -l /dev/rtc*
crw-r--r-- 1 root root 10, 135 2011-04-30 20:32 /dev/rtc
find /sys -name rtc
/sys/devices/virtual/misc/rtc
/sys/class/misc/rtc
/sys/module/rtc
udevadm info --path=/sys/devices/virtual/misc/rtc -a
KERNEL=="rtc"
SUBSYSTEM=="misc"
DRIVER==""
udevadm info --path=/sys/class/misc/rtc -a
KERNEL=="rtc"
SUBSYSTEM=="misc"
DRIVER==""
udevadm info --path=/sys/module/rtc -a
KERNEL=="rtc"
SUBSYSTEM=="module"
DRIVER==""
ATTR{initstate}=="live"
ATTR{refcnt}=="0"
udevadm info --path=/sys/devices/virtual/misc/rtc --query=all
P: /devices/virtual/misc/rtc
N: rtc
E: UDEV_LOG=3
E: DEVPATH=/devices/virtual/misc/rtc
E: MAJOR=10
E: MINOR=135
E: DEVNAME=/dev/rtc
E: SUBSYSTEM=misc
udevadm info --path=/sys/class/misc/rtc --query=all
P: /devices/virtual/misc/rtc
N: rtc
E: UDEV_LOG=3
E: DEVPATH=/devices/virtual/misc/rtc
E: MAJOR=10
E: MINOR=135
E: DEVNAME=/dev/rtc
E: SUBSYSTEM=misc
Note: the two queries above are the same as
'udevadm info --name=/dev/rtc --query=all'
udevadm info --path=/sys/module/rtc --query=all
P: /module/rtc
E: UDEV_LOG=3
E: DEVPATH=/module/rtc
E: SUBSYSTEM=module
------
Just for the heck of it, a boot without "modules" in the
'/etc/rc.d/rcsysinit.d' sequence results in
[]$ lsmod | grep rtc # missing
[]$ ls -l /dev/rtc # missing
so "S05modules" in '/etc/rc.d/rcsysinit.d' and
"rtc" in '/etc/rc.d/init.d/modules' are a must.
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page