非常に単純な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
確認する
- ブート環境でudevが有効になっています。
- 新しく作成されたudevルールはLinuxブート環境に含まれます。
たとえば、Arch Linux(#2)には、$ mkinitpio -P
更新されたboot initramfsイメージが必要です。