chiark / gitweb /
extras: cdrom_id - create /dev/cdrom and conditionally /dev/dvd for sr0
authorKay Sievers <kay.sievers@vrfy.org>
Mon, 30 Jan 2012 14:08:45 +0000 (15:08 +0100)
committerKay Sievers <kay.sievers@vrfy.org>
Mon, 30 Jan 2012 14:20:12 +0000 (15:20 +0100)
Udev does no longer automatically create udev rules in /etc from the
device hotplug path.

No device name reservation will happen anymore; this model creates
too many problems for setups with many device changes or media which
is booted on different hardware.

Enumerated device names which are based on device discovery order or
on persistent on-disk name reservation will in general not be supported
by udev in the future. It is a problem that can not be solved properly,
and it always creates new problems at the same time it tries to solve
the original one. Udev will no longer pretend it can solve these issues,
and people should switch to available alternatives which provide the
far better compromise.

From now on, udev will only create /dev/cdrom for the first optical
drive, and if the drive is capable /dev/dvd. No other devices will
get any compatibility symlinks or enumerated device names like cdrom1,
cdrom2, and so on. The /dev/cdrom and /dev/dvd links have by default
a negative link priority, which will cause them to be overwritten by
any other device which clains the same names with already existing
udev rules.

If stable device names are needed, the /dev/disk/by-id/ links, which
uniquely identify a specific piece of hardware should be used. The links
usually contain a device serial number and the link names will not depend
on device discovery order.

If completely identical devices with identical or no serial number
need to be handled at the same time, the /dev/disk/by-path/ links can
be used. These links depend on the physical port which is used to connect
the device. It will change when the same device is moved to a different
port or host adapter.

If custom names are needed, custom udev rules which match on specific
device properties need to be added by the administrator.

src/extras/cdrom_id/60-cdrom_id.rules

index 353f522..25e049a 100644 (file)
@@ -15,4 +15,7 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdr
 # enable the receiving of media eject button events
 IMPORT{program}="cdrom_id --lock-media $devnode"
 
+KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
+KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
+
 LABEL="cdrom_end"