1# rockchip internal storage links: /dev/disk/by-partlabel and /dev/block/by-name 2 3ACTION=="remove", GOTO="rk_internal_storage_end" 4ENV{UDEV_DISABLE_ROCKCHIP_STORAGE_RULES_FLAG}=="1", GOTO="rk_internal_storage_end" 5SUBSYSTEM!="block|mtd", GOTO="rk_internal_storage_end" 6KERNEL!="mmcblk*[0-9]|rkflash*|rknand*|mtd*|nvme*", GOTO="rk_internal_storage_end" 7 8# ignore partitions that span the entire disk 9TEST=="whole_disk", GOTO="rk_internal_storage_end" 10 11# for partitions import parent information 12ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*" 13 14# for rknand parameter partition name 15ENV{DEVNAME}=="/dev/rknand*", ENV{DEVTYPE}=="disk", ENV{DEVPATH}=="/devices/virtual/block/rknand", ENV{ID_RKNAND_PART_NAME}="" 16 17# for rkflash gpt partition name by-partlabel and /dev/block/by-name link 18ENV{DEVTYPE}=="partition", ENV{PARTNAME}=="?*", SYMLINK+="disk/by-partlabel/$env{PARTNAME}", SYMLINK+="block/by-name/$env{PARTNAME}" 19 20# for emmc gpt partition name /dev/block/by-name link 21ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", SYMLINK+="block/by-name/$env{ID_PART_ENTRY_NAME}" 22 23# for mtd partition name /dev/block/by-name link 24ENV{DEVNAME}=="/dev/mtd*", ENV{DEVTYPE}=="mtd", ATTRS{name}=="?*", SYMLINK+="block/by-name/$attr{name}" 25 26# for nvme partition name /dev/block/by-name link 27ENV{DEVNAME}=="/dev/nvme*", ENV{DEVTYPE}=="disk", ATTRS{name}=="?*", SYMLINK+="block/by-name/$attr{name}" 28 29LABEL="rk_internal_storage_end" 30