diff --git a/package/base/udev/rules/05-early-udev.rules b/package/base/udev/rules/05-early-udev.rules deleted file mode 100644 index ef2cec35f..000000000 --- a/package/base/udev/rules/05-early-udev.rules +++ /dev/null @@ -1,8 +0,0 @@ -# ignore these until someone needs them -SUBSYSTEM=="drivers", OPTIONS="ignore_device" -SUBSYSTEM=="module", OPTIONS="ignore_device" - -# sysfs is populated after the event is sent -ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus" -ACTION=="add", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt" -ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address" diff --git a/package/base/udev/rules/50-devfs.rules b/package/base/udev/rules/50-devfs.rules index f659d26a3..73ebd1197 100644 --- a/package/base/udev/rules/50-devfs.rules +++ b/package/base/udev/rules/50-devfs.rules @@ -14,136 +14,135 @@ # # workaround for devices which do not report media changes -BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}=="1", \ - ENV{ID_MODEL}=="IOMEGA_ZIP*", NAME="%k", OPTIONS+="all_partitions" +BUS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \ + ENV{ID_MODEL}=="IOMEGA_ZIP*", OPTIONS+="all_partitions" # IDE devices -BUS=="ide", KERNEL=="hd[a-z]*", PROGRAM="/lib/udev/ide-devfs.sh %k %b %n", \ - NAME="%c{1}", SYMLINK+="%k %c{2}", GROUP="%c{3}" +BUS=="ide", KERNEL=="hd[a-z]*", PROGRAM="ide-devfs.sh %k %b %n", \ + SYMLINK+="%c{1} %c{2}", GROUP="%c{3}" # SCSI devices -BUS=="scsi", PROGRAM="/lib/udev/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}" +BUS=="scsi", PROGRAM="scsi-devfs.sh %k %b %n", SYMLINK+="%c{1} %c{2}" # RAID controllers -KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="/lib/udev/raid-devfs.sh %k", \ - NAME="%c{1}", SYMLINK+="%k" +KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="raid-devfs.sh %k", \ + SYMLINK+="%c{1}" # other block devices -KERNEL=="md[0-9]*", NAME="md/%n", -KERNEL=="loop[0-9]*", NAME="loop/%n" -KERNEL=="ram[0-9]*", NAME="rd/%n" +KERNEL=="md[0-9]*", SYMLINK+="md/%n" +KERNEL=="loop[0-9]*", SYMLINK+="loop/%n" +KERNEL=="ram[0-9]*", SYMLINK+="rd/%n" # USB devices -BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k" -BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k" -BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k" -BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k" -BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k" -BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k" -BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \ +BUS=="usb", KERNEL=="auer[0-9]*", SYMLINK+="usb/%k" +BUS=="usb", KERNEL=="cpad[0-9]*", SYMLINK+="usb/%k" +BUS=="usb", KERNEL=="dabusb*", SYMLINK+="usb/%k" +BUS=="usb", KERNEL=="hiddev*", SYMLINK+="usb/%k" +BUS=="usb", KERNEL=="legousbtower*", SYMLINK+="usb/%k" +BUS=="usb", KERNEL=="lp[0-9]*", SYMLINK+="usb/%k" +BUS=="usb", KERNEL=="ttyUSB*", ATTR{product}=="Palm Handheld*", \ SYMLINK+="pilot" # usbfs-like devices SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; B=$${K%%%%.*}; D=$${K#*.}; echo bus/usb/$$B/$$D'", \ - NAME="%c" + SYMLINK+="%c" # serial devices -KERNEL=="ttyS[0-9]*", NAME="tts/%n" -KERNEL=="ttyUSB[0-9]*", NAME="tts/USB%n" -KERNEL=="rfcomm[0-9]*", NAME="bluetooth/rfcomm/%n", -KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20" -KERNEL=="capi[0-9]*", NAME="capi/%n" +KERNEL=="ttyS[0-9]*", SYMLINK+="tts/%n" +KERNEL=="ttyUSB[0-9]*", SYMLINK+="tts/USB%n" +KERNEL=="rfcomm[0-9]*", SYMLINK+="bluetooth/rfcomm/%n", +KERNEL=="capi", SYMLINK+="capi20", SYMLINK+="isdn/capi20" +KERNEL=="capi[0-9]*", SYMLINK+="capi/%n" # vc devices -KERNEL=="tty[0-9]*", NAME="vc/%n" -KERNEL=="vcs", NAME="vcc/0" -KERNEL=="vcs[0-9]*", NAME="vcc/%n" -KERNEL=="vcsa", NAME="vcc/a0" -KERNEL=="vcsa[0-9]*", NAME="vcc/a%n" +KERNEL=="tty[0-9]*", SYMLINK+="vc/%n" +KERNEL=="vcs", SYMLINK+="vcc/0" +KERNEL=="vcs[0-9]*", SYMLINK+="vcc/%n" +KERNEL=="vcsa", SYMLINK+="vcc/a0" +KERNEL=="vcsa[0-9]*", SYMLINK+="vcc/a%n" # video devices -KERNEL=="video[0-9]*", NAME="v4l/%k" -KERNEL=="radio[0-9]*", NAME="v4l/%k" -KERNEL=="vbi[0-9]*", NAME="v4l/%k" -KERNEL=="vtx[0-9]*", NAME="v4l/%k" -KERNEL=="dvb*", PROGRAM="/bin/sh -c 'KNAME=%k; KNAME=$${KNAME#dvb}; A=$${KNAME%%%%.*}; D=$${KNAME#*.}; echo dvb/adapter$$A/$$D'", \ - NAME="%c" -KERNEL=="fb[0-9]*", NAME="fb/%n" -KERNEL=="card[0-9]*", NAME="dri/%k" +KERNEL=="video[0-9]*", SYMLINK+="v4l/%k" +KERNEL=="radio[0-9]*", SYMLINK+="v4l/%k" +KERNEL=="vbi[0-9]*", SYMLINK+="v4l/%k" +KERNEL=="vtx[0-9]*", SYMLINK+="v4l/%k" +KERNEL=="dvb*", PROGRAM="/bin/sh -c 'KSYMLINK+=%k; KSYMLINK+=$${KNAME#dvb}; A=$${KNAME%%%%.*}; D=$${KNAME#*.}; echo dvb/adapter$$A/$$D'", \ + SYMLINK+="%c" +KERNEL=="fb[0-9]*", SYMLINK+="fb/%n" +KERNEL=="card[0-9]*", SYMLINK+="dri/%k" # misc devices -KERNEL=="apm_bios", NAME="misc/%k", -KERNEL=="agpgart", NAME="misc/%k" -KERNEL=="hw_random", NAME="hwrng" -KERNEL=="nvram", NAME="misc/%k" -KERNEL=="psaux", NAME="misc/%k" -KERNEL=="rtc", NAME="misc/%k" -KERNEL=="tun", NAME="net/%k" +KERNEL=="apm_bios", SYMLINK+="misc/%k", +KERNEL=="agpgart", SYMLINK+="misc/%k" +KERNEL=="hw_random", SYMLINK+="hwrng" +KERNEL=="nvram", SYMLINK+="misc/%k" +KERNEL=="psaux", SYMLINK+="misc/%k" +KERNEL=="rtc", SYMLINK+="misc/%k" +KERNEL=="tun", SYMLINK+="net/%k" # printers and parallel devices -KERNEL=="lp[0-9]*", NAME="printers/%n" -KERNEL=="parport[0-9]*", NAME="parports/%n" +KERNEL=="lp[0-9]*", SYMLINK+="printers/%n" +KERNEL=="parport[0-9]*", SYMLINK+="parports/%n" -KERNEL=="i2c-[0-9]*", NAME="i2c/%n" -KERNEL=="fd[0-9]*", NAME="floppy/%n" +KERNEL=="i2c-[0-9]*", SYMLINK+="i2c/%n" +KERNEL=="fd[0-9]*", SYMLINK+="floppy/%n" -KERNEL=="cdemu[0-9]*", NAME="cdemu/%n" -KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n" -KERNEL=="pktcdvd", NAME="pktcdvd/control" +KERNEL=="cdemu[0-9]*", SYMLINK+="cdemu/%n" +KERNEL=="pktcdvd[0-9]*", SYMLINK+="pktcdvd/%n" +KERNEL=="pktcdvd", SYMLINK+="pktcdvd/control" -KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" -KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" -KERNEL=="microcode", NAME="cpu/microcode", SYMLINK="misc/microcode" +KERNEL=="cpu[0-9]*", SYMLINK+="cpu/%n/cpuid" +KERNEL=="msr[0-9]*", SYMLINK+="cpu/%n/msr" +KERNEL=="microcode", SYMLINK+="cpu/microcode misc/microcode" -KERNEL=="umad*", NAME="infiniband/%k" -KERNEL=="issm*", NAME="infiniband/%k" -KERNEL=="uverbs*", NAME="infiniband/%k" -KERNEL=="ucm*", NAME="infiniband/%k" +KERNEL=="umad*", SYMLINK+="infiniband/%k" +KERNEL=="issm*", SYMLINK+="infiniband/%k" +KERNEL=="uverbs*", SYMLINK+="infiniband/%k" +KERNEL=="ucm*", SYMLINK+="infiniband/%k" # sound devices -KERNEL=="controlC[0-9]*", NAME="snd/%k" -KERNEL=="hwC[D0-9]*", NAME="snd/%k" -KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k" -KERNEL=="midiC[D0-9]*", NAME="snd/%k" -KERNEL=="timer", NAME="snd/%k" -KERNEL=="seq", NAME="snd/%k" -KERNEL=="audio*", NAME="sound/%k" -KERNEL=="dsp*", NAME="sound/%k" -KERNEL=="adsp*", NAME="sound/%k" -KERNEL=="midi*", NAME="sound/%k" -KERNEL=="mixer*", NAME="sound/%k" -KERNEL=="sequencer*", NAME="sound/%k" -KERNEL=="amidi*", NAME="sound/%k" -KERNEL=="dmmidi*", NAME="sound/%k" -KERNEL=="admmidi*", NAME="sound/%k" +KERNEL=="controlC[0-9]*", SYMLINK+="snd/%k" +KERNEL=="hwC[D0-9]*", SYMLINK+="snd/%k" +KERNEL=="pcmC[D0-9cp]*", SYMLINK+="snd/%k" +KERNEL=="midiC[D0-9]*", SYMLINK+="snd/%k" +KERNEL=="timer", SYMLINK+="snd/%k" +KERNEL=="seq", SYMLINK+="snd/%k" +KERNEL=="audio*", SYMLINK+="sound/%k" +KERNEL=="dsp*", SYMLINK+="sound/%k" +KERNEL=="adsp*", SYMLINK+="sound/%k" +KERNEL=="midi*", SYMLINK+="sound/%k" +KERNEL=="mixer*", SYMLINK+="sound/%k" +KERNEL=="sequencer*", SYMLINK+="sound/%k" +KERNEL=="amidi*", SYMLINK+="sound/%k" +KERNEL=="dmmidi*", SYMLINK+="sound/%k" +KERNEL=="admmidi*", SYMLINK+="sound/%k" # ieee1394 devices -KERNEL=="dv1394*", NAME="dv1394/%n" -KERNEL=="video1394*", NAME="video1394/%n" +KERNEL=="dv1394*", SYMLINK+="dv1394/%n" +KERNEL=="video1394*", SYMLINK+="video1394/%n" # input devices -KERNEL=="mice", NAME="input/%k" -KERNEL=="mouse[0-9]*", NAME="input/%k" -KERNEL=="event[0-9]*", NAME="input/%k" -KERNEL=="js[0-9]*", NAME="input/%k" -KERNEL=="ts[0-9]*", NAME="input/%k" -KERNEL=="uinput", NAME="input/%k" +KERNEL=="mice", SYMLINK+="input/%k" +KERNEL=="mouse[0-9]*", SYMLINK+="input/%k" +KERNEL=="event[0-9]*", SYMLINK+="input/%k" +KERNEL=="js[0-9]*", SYMLINK+="input/%k" +KERNEL=="ts[0-9]*", SYMLINK+="input/%k" +KERNEL=="uinput", SYMLINK+="input/%k" # Zaptel -KERNEL=="zapctl", NAME="zap/ctl" -KERNEL=="zaptimer", NAME="zap/timer" -KERNEL=="zapchannel", NAME="zap/channel" -KERNEL=="zappseudo", NAME="zap/pseudo" -KERNEL=="zap[0-9]*", NAME="zap/%n" +KERNEL=="zapctl", SYMLINK+="zap/ctl" +KERNEL=="zaptimer", SYMLINK+="zap/timer" +KERNEL=="zapchannel", SYMLINK+="zap/channel" +KERNEL=="zappseudo", SYMLINK+="zap/pseudo" +KERNEL=="zap[0-9]*", SYMLINK+="zap/%n" # AOE character devices -SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k" -SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k" -SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="discover", SYMLINK+="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="err", SYMLINK+="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="interfaces", SYMLINK+="etherd/%k" # device mapper creates its own device nodes, so ignore these -KERNEL=="dm-[0-9]*", NAME="" -KERNEL=="device-mapper", NAME="mapper/control" - -ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper" +# KERNEL=="dm-[0-9]*", SYMLINK+="" +KERNEL=="device-mapper", SYMLINK+="mapper/control" +ACTION=="add", SUBSYSTEM=="firmware", RUN+="firmware_helper" diff --git a/package/base/udev/rules/60-persistent-storage.rules b/package/base/udev/rules/60-persistent-storage.rules deleted file mode 100644 index 40c6d6cd8..000000000 --- a/package/base/udev/rules/60-persistent-storage.rules +++ /dev/null @@ -1,51 +0,0 @@ -# persistent storage links: /dev/{disk,tape}/{by-id,by-uuid,by-label,by-path,by-name} -# scheme based on "Linux persistent device names", 2004, Hannes Reinecke - -ACTION!="add", GOTO="persistent_storage_end" -SUBSYSTEM!="block", GOTO="persistent_storage_end" - -# skip rules for inappropriate block devices -KERNEL=="ram*|loop*|fd*|nbd*", GOTO="persistent_storage_end" - -# never access removable ide devices, the drivers are causing event loops on open() -KERNEL=="hd*[!0-9]", SYSFS{removable}=="1", DRIVERS!="ide-cdrom", GOTO="persistent_storage_end" -KERNEL=="hd*[0-9]", SYSFS{../removable}=="1", DRIVERS!="ide-cdrom", GOTO="persistent_storage_end" - -# by-id (hardware serial number) -KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode" -KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}" -KERNEL=="hd*[0-9]", IMPORT{parent}=="ID_*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n" - -KERNEL=="sd*[!0-9]|sr*|st*", SYSFS{ieee1394_id}=="*", ENV{ID_SERIAL}="$sysfs{ieee1394_id}", ENV{ID_BUS}="ieee1394" -KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/usb_id -x" -KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/scsi_id -g -x -s %p -d $tempnode" -KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/scsi_id -g -x -a -s %p -d $tempnode" -KERNEL=="dasd*[!0-9]", IMPORT{program}="/lib/udev/dasd_id --export $tempnode" -KERNEL=="sd*[!0-9]|sr*|dasd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" -KERNEL=="st*", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}" - -# for partitions import parent information -KERNEL=="sd*[0-9]|dasd*[0-9]", IMPORT{parent}=="ID_*" -KERNEL=="sd*[0-9]|dasd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" - -# by-path (shortest physical path) -KERNEL=="*[!0-9]|sr*", ENV{ID_TYPE}=="?*", IMPORT{program}="/lib/udev/path_id %p", SYMLINK+="disk/by-path/$env{ID_PATH}" -KERNEL=="st*", ENV{ID_TYPE}=="?*", IMPORT{program}="/lib/udev/path_id %p", SYMLINK+="tape/by-path/$env{ID_PATH}" -KERNEL=="sr*|st*", GOTO="persistent_storage_end" -KERNEL=="*[0-9]", IMPORT{parent}=="ID_*" -KERNEL=="*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" - -# by-label/by-uuid (filesystem properties) -KERNEL=="*[!0-9]", SYSFS{removable}=="1", GOTO="persistent_storage_end" -IMPORT{program}="/lib/udev/vol_id --export $tempnode" -ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}" -ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}" - -# BIOS Enhanced Disk Device -KERNEL=="*[!0-9]", IMPORT{program}="/lib/udev/edd_id --export $tempnode" -KERNEL=="*[!0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}" -KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n" - -KERNEL=="dm-[0-9]*", ACTION=="add", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", SYMLINK="disk/by-name/%c" - -LABEL="persistent_storage_end" diff --git a/package/base/udev/rules/95-oss-compat.rules b/package/base/udev/rules/95-oss-compat.rules index e6cefbbd0..aaa39c32b 100644 --- a/package/base/udev/rules/95-oss-compat.rules +++ b/package/base/udev/rules/95-oss-compat.rules @@ -1,5 +1,5 @@ # add OSS compatibility modules for sound devices -# ACTION=="add", SUBSYSTEM=="sound" RUN+="/lib/udev/load-oss-compat.sh" +# ACTION=="add", SUBSYSTEM=="sound" RUN+="load-oss-compat.sh" ACTION=="add", SUBSYSTEM=="sound", KERNEL=="pcmC[0-9]*" \ RUN+="/bin/sh -c 'test -e /sys/class/sound/dsp || /sbin/modprobe snd-pcm-oss'" ACTION=="add", SUBSYSTEM=="sound", KERNEL=="seq" \ diff --git a/package/base/udev/rules/hotplug.rules b/package/base/udev/rules/hotplug.rules index d0633bc58..784567514 100644 --- a/package/base/udev/rules/hotplug.rules +++ b/package/base/udev/rules/hotplug.rules @@ -1,7 +1,7 @@ ACTION!="add", GOTO="hotplug_not_add_event" # check if the device has already been claimed by a driver -ENV{PHYSDEVDRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded" +DRIVERS=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded" # workarounds for kernels which lack $MODALIAS support SUBSYSTEM=="ieee1394", ENV{MODALIAS}!="?*", IMPORT{program}="modalias_ieee1394" @@ -20,21 +20,21 @@ SUBSYSTEM=="pcmcia_socket", RUN+="/sbin/modprobe pcmcia" #SUBSYSTEM=="i2o", RUN+="/sbin/modprobe i2o-block" #SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc-block" -SUBSYSTEM=="scsi_device", SYSFS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod" -SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe osst", \ - SYSFS{vendor}=="Onstream", SYSFS{model}!="ADR*" -SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe st", \ - SYSFS{vendor}=="Onstream", SYSFS{model}=="ADR*" -SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe st", \ - SYSFS{vendor}!="Onstream" -SUBSYSTEM=="scsi_device", SYSFS{type}=="[45]", RUN+="/sbin/modprobe sr_mod" -SUBSYSTEM=="scsi_device", SYSFS{type}=="[235689]", RUN+="/sbin/modprobe sg" +SUBSYSTEM=="scsi_device", ATTR{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod" +SUBSYSTEM=="scsi_device", ATTR{type}=="1", RUN+="/sbin/modprobe osst", \ + ATTR{vendor}=="Onstream", ATTR{model}!="ADR*" +SUBSYSTEM=="scsi_device", ATTR{type}=="1", RUN+="/sbin/modprobe st", \ + ATTR{vendor}=="Onstream", ATTR{model}=="ADR*" +SUBSYSTEM=="scsi_device", ATTR{type}=="1", RUN+="/sbin/modprobe st", \ + ATTR{vendor}!="Onstream" +SUBSYSTEM=="scsi_device", ATTR{type}=="[45]", RUN+="/sbin/modprobe sr_mod" +SUBSYSTEM=="scsi_device", ATTR{type}=="[235689]", RUN+="/sbin/modprobe sg" # From here on follows the hotplug agents which do not load modules LABEL="hotplug_driver_loaded" # FIXME: does a sane default exist? -#SUBSYSTEM=="scsi_device", SYSFS{idVendor}=="...", \ +#SUBSYSTEM=="scsi_device", ATTR{idVendor}=="...", \ # RUN+="scsi-re-add" SUBSYSTEM=="firmware", RUN+="/bin/sh -c `/etc/hotplug/firmware.agent &`" diff --git a/package/base/udev/rules/permissions.rules b/package/base/udev/rules/permissions.rules index 9e7ebff6e..e861f02fa 100644 --- a/package/base/udev/rules/permissions.rules +++ b/package/base/udev/rules/permissions.rules @@ -2,18 +2,18 @@ # mostly examples, we're missing lots of groups. # SUBSYSTEM=="block", GROUP="disk" -# SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy" +# SUBSYSTEM=="block", ATTR{removable}=="1", GROUP="floppy" # IDE devices -BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}=="1", \ +BUS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \ PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom*", GROUP="cdrom" # BUS=="ide", KERNEL=="ht[0-9]*", GROUP="tape" # BUS=="ide", KERNEL=="nht[0-9]*", GROUP="tape" # SCSI devices -# BUS=="scsi", SYSFS{type}=="1", GROUP="tape" -BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom" -# BUS=="scsi", SYSFS{type}=="6", GROUP="scanner" +# BUS=="scsi", ATTR{type}=="1", GROUP="tape" +BUS=="scsi", ATTR{type}=="5", GROUP="cdrom" +# BUS=="scsi", ATTR{type}=="6", GROUP="scanner" # USB devices # BUS=="usb", KERNEL=="legousbtower*", MODE="0666" @@ -73,7 +73,7 @@ KERNEL=="dv1394*", GROUP="video" KERNEL=="video1394*", GROUP="video" # input devices -KERNEL=="event[0-9]*", PROGRAM="/lib/udev/inputdev.sh %k", \ +KERNEL=="event[0-9]*", PROGRAM="inputdev.sh %k", \ RESULT=="inputdev", MODE="0664" KERNEL=="js[0-9]*", MODE="0664" diff --git a/package/base/udev/udev-rules.patch b/package/base/udev/udev-rules.patch new file mode 100644 index 000000000..5056db6e4 --- /dev/null +++ b/package/base/udev/udev-rules.patch @@ -0,0 +1,69 @@ +diff -dur udev-103/etc/udev/rules.d/05-udev-early.rules udev-103-p/etc/udev/rules.d/05-udev-early.rules +--- udev-103/etc/udev/rules.d/05-udev-early.rules 2006-10-20 14:43:35.000000000 +0200 ++++ udev-103-p/etc/udev/rules.d/05-udev-early.rules 2006-11-24 20:23:27.000000000 +0100 +@@ -1,3 +1,8 @@ ++# ignore these until someone needs them ++SUBSYSTEM=="drivers", OPTIONS="ignore_device" ++SUBSYSTEM=="module", OPTIONS="ignore_device" ++ + # sysfs is populated after the event is sent ++ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus" + ACTION=="add", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt" +- ++ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address" +diff -dur udev-103/etc/udev/rules.d/60-persistent-storage.rules udev-103-p/etc/udev/rules.d/60-persistent-storage.rules +--- udev-103/etc/udev/rules.d/60-persistent-storage.rules 2006-10-20 14:43:35.000000000 +0200 ++++ udev-103-p/etc/udev/rules.d/60-persistent-storage.rules 2006-11-24 20:30:38.000000000 +0100 +@@ -5,11 +5,11 @@ + SUBSYSTEM!="block", GOTO="persistent_storage_end" + + # skip rules for inappropriate block devices +-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-*", GOTO="persistent_storage_end" ++KERNEL=="ram*|loop*|fd*|nbd*", GOTO="persistent_storage_end" + +-# never access non-cdrom removable ide devices, the drivers are causing event loops on open() +-KERNEL=="hd*[!0-9]", ATTRS{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end" +-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end" ++# never access removable ide devices, the drivers are causing event loops on open() ++KERNEL=="hd*[!0-9]", ATTRS{removable}=="1", DRIVERS!="ide-cdrom", GOTO="persistent_storage_end" ++KERNEL=="hd*[0-9]", ATTRS{removable}=="1", DRIVERS!="ide-cdrom", GOTO="persistent_storage_end" + + # for partitions import parent information + KERNEL=="*[0-9]", IMPORT{parent}="ID_*" +@@ -19,7 +19,7 @@ + KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}" + KERNEL=="hd*[0-9]", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n" + +-KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394" ++KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394" + KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="usb_id -x" + KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="scsi_id -g -x -s %p -d $tempnode" + KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="scsi_id -g -x -a -s %p -d $tempnode" +@@ -29,20 +29,22 @@ + KERNEL=="st*", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}" + + # by-path (shortest physical path) +-KERNEL=="*[!0-9]|sr*", IMPORT{program}="path_id %p", SYMLINK+="disk/by-path/$env{ID_PATH}" +-KERNEL=="st*", IMPORT{program}="path_id %p", SYMLINK+="tape/by-path/$env{ID_PATH}" ++KERNEL=="*[!0-9]|sr*", ENV{ID_TYPE}=="?*", IMPORT{program}="path_id %p", SYMLINK+="disk/by-path/$env{ID_PATH}" ++KERNEL=="st*", ENV{ID_TYPE}=="?*", IMPORT{program}="path_id %p", SYMLINK+="tape/by-path/$env{ID_PATH}" + KERNEL=="sr*|st*", GOTO="persistent_storage_end" + KERNEL=="*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" + + # by-label/by-uuid (filesystem properties) + KERNEL=="*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end" + IMPORT{program}="vol_id --export $tempnode" +-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}" +-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}" ++ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}" ++ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}" + + # BIOS Enhanced Disk Device + KERNEL=="*[!0-9]", IMPORT{program}="edd_id --export $tempnode" + KERNEL=="*[!0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}" + KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n" + ++KERNEL=="dm-[0-9]*", ACTION=="add", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", SYMLINK="disk/by-name/%c" ++ + LABEL="persistent_storage_end" +Nur in udev-103-p/etc/udev/rules.d: 60-persistent-storage.rules~. diff --git a/package/base/udev/udev.desc b/package/base/udev/udev.desc index c7bdff546..e0b0cfcde 100644 --- a/package/base/udev/udev.desc +++ b/package/base/udev/udev.desc @@ -42,7 +42,7 @@ [L] GPL [S] Beta -[V] 102 +[V] 103 [P] X -X-3-----9 188.400 -[D] 2777970855 udev-102.tar.bz2 ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/ +[D] 1588207467 udev-103.tar.bz2 ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/