..recent udev seems to fail to generate these symlinks for internal devices because ID_PATH is not set and write_cd_rules needs it for the default "by-path" method else f.e.
# udevadm test $(udevadm info -q path -n /dev/sr0)
will echo "$DEVPATH not supported by path_id. by-id may work."
The "by-id" method works, however in the factory /lib/udev/rules.d/75-cd-aliases-generator.rules this is only used for usb/firewire optical drives, for whatever (deprecated?) reason.
Just override the default rule by creating this simplified /etc/udev/rules.d/75-cd-aliases-generator.rules:
>>>
# These rules generate rules for the /dev/{cdrom,dvd,...} symlinks and
# write them to /etc/udev/rules.d/70-persistent-cd.rules.
ACTION=="add", SUBSYSTEM=="block", ENV{GENERATED}!="?*", ENV{ID_CDROM}=="?*", \ PROGRAM="write_cd_rules by-id", SYMLINK+="$result"
<<<
fixed it for me.
..recent udev seems to fail to generate these symlinks for internal devices because ID_PATH is not set and write_cd_rules needs it for the default "by-path" method else f.e. rules.d/ 75-cd-aliases- generator. rules this is only used for usb/firewire optical drives, for whatever (deprecated?) reason. rules.d/ 75-cd-aliases- generator. rules: dvd,... } symlinks and rules.d/ 70-persistent- cd.rules. !="?*", ENV{ID_ CDROM}= ="?*", \
PROGRAM= "write_ cd_rules by-id", SYMLINK+="$result"
# udevadm test $(udevadm info -q path -n /dev/sr0)
will echo "$DEVPATH not supported by path_id. by-id may work."
The "by-id" method works, however in the factory /lib/udev/
Just override the default rule by creating this simplified /etc/udev/
>>>
# These rules generate rules for the /dev/{cdrom,
# write them to /etc/udev/
ACTION=="add", SUBSYSTEM=="block", ENV{GENERATED}
<<<
fixed it for me.