我有一个非常简单的 udev 规则/etc/udev/rules.d/sdcard.rules
:
KERNEL=="mmcblk1", SUBSYSTEM=="block", SYMLINK+="sdCARD"
Run Code Online (Sandbox Code Playgroud)
问题是符号链接不是在启动时自动为我创建的。我还有许多其他规则,它们在启动时都可以正常工作(我的符号链接已创建)。
但是,如果我运行它,则会创建符号链接:
udevadm test /block/mmcblk1
Run Code Online (Sandbox Code Playgroud)
这里会发生什么?为什么不是在启动时创建?该设备是否还不能使用?我怎么能查出来?
更新一
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"
Run Code Online (Sandbox Code Playgroud)
将规则文件重命名为:/etc/udev/rules.d/99-sdcard.rules
,可能需要在其之前运行一些规则。