
我有sdcard 讀卡器,我想將區塊設備名稱設為/dev/sdcard2 ,它們的分區將被命名為/dev/sdcard2p1 /dev/sdcard2p2 /dev/sdcard2p3 ...(基於讀卡機中插入的特定卡的分區計數)
此規則必須適用於插入此特定 SD 卡讀卡機(透過序號區分)的任何 SD 卡(具有不同數量的分區),並且指向插入的 SD 卡的區塊裝置必須具有這些名稱。
SD卡讀卡機具有此序號 ID_SERIAL_SHORT=20210500010790
所以我想編寫 udev 規則,它將設定區塊裝置名稱,如上所述。
我嘗試過這個規則:
KERNEL=="sd*", ACTION=="add", ENV{ID_SERIAL_SHORT}=="20210500010790", SYMLINK+="sdcard2%n"
但它不起作用,我做錯了什麼?
這是輸出udevadm monitor --environment --udev
:帕斯特賓
更新:我找到了一些解決方案:
ACTION=="add", SUBSYSTEM=="block", ATTRS{serial}=="20210500010790", ENV{DEVTYPE}=="disk", SYMLINK+="sdcard2"
ACTION=="add", SUBSYSTEM=="block", ATTRS{serial}=="20210500010790", ENV{DEVTYPE}=="partition", SYMLINK+="sdcard2p%n"
它適用於 ATTRS,但不適用於 ENV,但為什麼呢?