udev가 시작 시 규칙을 실행하지 않습니까?

udev가 시작 시 규칙을 실행하지 않습니까?

매우 간단한 udev 규칙이 있습니다 /etc/udev/rules.d/sdcard.rules.

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

문제는 시작할 때 심볼릭 링크가 자동으로 생성되지 않는다는 것입니다. 나는 다른 많은 규칙을 가지고 있으며 시작 시 모두 잘 작동합니다(심볼릭 링크가 생성됨).

그러나 이 명령을 실행하면 심볼릭 링크가 생성됩니다.

udevadm test /block/mmcblk1

여기서 무슨 일이 일어날 수 있습니까? 왜 시작할 때 생성되지 않습니까? 기기가 아직 작동하지 않나요? 이것을 어떻게 발견할 수 있나요?


업데이트 1


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"

답변1

규칙 파일의 이름을 다음으로 바꾸십시오. /etc/udev/rules.d/99-sdcard.rules그 전에 몇 가지 규칙을 실행해야 할 수도 있습니다.

답변2

확인하다

  1. 부팅 환경에서 udev가 활성화되었습니다.
  2. 새로 생성된 udev 규칙은 Linux 부팅 환경에 포함됩니다.

예를 들어 Arch Linux(#2)에는 $ mkinitpio -P업데이트된 boot initramfs 이미지가 필요합니다.

관련 정보