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

Reply via email to