USB 存储设备和分区的 Udev 规则

USB 存储设备和分区的 Udev 规则

我正在尝试设置一个 udev 规则,该规则将符号链接到/dev/sda/dev/cm/dev/sda1。当然,根据连接到计算机的其他设备,设备可能会显示为或其他任何内容,而不是 。所以我有这条规则/dev/cm1/dev/sda2/dev/cm2sdasdb

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="0001", GROUP="disk", SYMLINK+="cm"

此规则与我的设备匹配,并生成指向/dev/cm正确设备节点的符号链接,但未生成/dev/cm1/dev/cm2,尽管我可以看到/dev/sda1/dev/sda2已显示。我遗漏了什么?

答案1

以下是一种解决方案:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0a5c", ATTRS{idProduct}=="0001", GROUP="disk", SYMLINK+="cm%n"

看到了吗?符号链接名称不是cm,而是cm%n。显然,%n是分区的名称。对我来说,此规则产生以下符号链接:

  • /dev/cm
  • /dev/cm0(这个指向/dev/sg0,这显然是通用 SCSI 层)
  • /dev/cm1(指向第一个分区)
  • /dev/cm2(指向第二个分区)

https://wiki.debian.org/udev是去哪里学习这方面的知识。

相关内容