Udev not running rule at boot

symlinkudev

I have a very simple udev rule at /etc/udev/rules.d/sdcard.rules:

KERNEL=="mmcblk1", SUBSYSTEM=="block", SYMLINK+="sdCARD"

Problem is the symlink is not created for me automatically at boot. I have many other rules and all them work just fine at boot (my symlinks are created).

However, if I run this then the symlink IS created:

udevadm test /block/mmcblk1

What could be going on here? Why isn't it created at boot? Could the device not be available yet? How could I find that out?


Update One


Output of udevadm:

 looking at device '/block/mmcblk1':
    KERNEL=="mmcblk1"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{ro}=="0"
    ATTR{size}=="3862528"
    ATTR{stat}=="       9        0       74        0        1        0        8        0        0        0        0"
    ATTR{range}=="8"
    ATTR{discard_alignment}=="0"
    ATTR{force_ro}=="0"
    ATTR{ext_range}=="8"
    ATTR{alignment_offset}=="0"
    ATTR{inflight}=="       0        0"
    ATTR{removable}=="0"
    ATTR{capability}=="10"

Best Answer

Rename the rules file to: /etc/udev/rules.d/99-sdcard.rules , possibly some rules are required to run before it.

Related Question