]> code.ossystems Code Review - openembedded-core.git/commitdiff
udev: Sync the rules with the versions from a more recent udev, optimise the boot...
authorRichard Purdie <richard@openedhand.com>
Thu, 24 Jul 2008 17:00:15 +0000 (17:00 +0000)
committerRichard Purdie <richard@openedhand.com>
Thu, 24 Jul 2008 17:00:15 +0000 (17:00 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4942 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/packages/udev/udev-124/permissions.rules
meta/packages/udev/udev-124/run.rules [new file with mode: 0644]
meta/packages/udev/udev-124/udev.rules
meta/packages/udev/udev_124.bb

index 99e03b103688f0123a4dd2f727913314e6b5ed4a..205b7332920bcb413bb6d3e3403462eccc865da7 100644 (file)
@@ -1,38 +1,56 @@
 ACTION!="add", GOTO="permissions_end"
 
 # workarounds needed to synchronize with sysfs
-DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*",  WAIT_FOR_SYSFS="bus"
-SUBSYSTEM=="scsi",                             WAIT_FOR_SYSFS="ioerr_cnt"
+# only needed for kernels < v2.6.18-rc1
+ENV{PHYSDEVPATH}!="?*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
+SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*",    WAIT_FOR_SYSFS="ioerr_cnt"
 # only needed for kernels < 2.6.16
 SUBSYSTEM=="net",                              WAIT_FOR_SYSFS="address"
 # only needed for kernels < 2.6.17
-SUBSYSTEM=="net", ENV{PHYSDEVDRIVER}=="?*",    WAIT_FOR_SYSFS="device/driver"
+SUBSYSTEM=="net", ENV{DRIVER}=="?*",           WAIT_FOR_SYSFS="device/driver"
+
+# devices needed to load the drivers providing them
+KERNEL=="tun",                                 OPTIONS+="ignore_remove"
+KERNEL=="ppp",                                 OPTIONS+="ignore_remove"
+KERNEL=="loop[0-9]*",                          OPTIONS+="ignore_remove"
 
 # default permissions for block devices
 SUBSYSTEM=="block",                            GROUP="disk"
-SUBSYSTEM=="block", SYSFS{removable}=="1",     GROUP="floppy"
+# the aacraid driver is broken and reports that disks removable (see #404927)
+SUBSYSTEM=="block", ATTRS{removable}=="1", \
+       DRIVERS!="aacraid",                     GROUP="floppy"
+# all block devices on these buses are "removable"
+SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy"
 
 # IDE devices
-BUS=="ide", KERNEL=="hd[a-z]|pcd[0-9]*", DRIVER=="ide-cdrom|pcd", \
+KERNEL=="hd[a-z]|pcd[0-9]*",                   DRIVERS=="ide-cdrom|pcd", \
        IMPORT{program}="cdrom_id --export $tempnode"
 ENV{ID_CDROM}=="?*",                           GROUP="cdrom"
-BUS=="ide", KERNEL=="ht[0-9]*",                        GROUP="tape"
-BUS=="ide", KERNEL=="nht[0-9]*",               GROUP="tape"
+KERNEL=="ht[0-9]*",                            GROUP="tape"
+KERNEL=="nht[0-9]*",                           GROUP="tape"
 
 # SCSI devices
-BUS=="scsi", SYSFS{type}=="1",                 GROUP="tape"
-BUS=="scsi", SYSFS{type}=="5",                 GROUP="cdrom"
+KERNEL=="sr[0-9]*", IMPORT{program}="cdrom_id --export $tempnode"
+SUBSYSTEMS=="scsi", ATTRS{type}=="1",                          GROUP="tape"
+SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="HP",     GROUP="scanner"
+SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="Epson",  GROUP="scanner"
+SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="EPSON",  GROUP="scanner"
+SUBSYSTEMS=="scsi", ATTRS{type}=="4",                          GROUP="cdrom"
+SUBSYSTEMS=="scsi", ATTRS{type}=="5",                          GROUP="cdrom"
+SUBSYSTEMS=="scsi", ATTRS{type}=="6",                          GROUP="scanner"
+SUBSYSTEMS=="scsi", ATTRS{type}=="8",                          GROUP="tape"
 
 # USB devices
-BUS=="usb", KERNEL=="legousbtower*", MODE="0666"
-BUS=="usb", KERNEL=="lp[0-9]*",                        GROUP="lp"
+KERNEL=="legousbtower*",       MODE="0666"
+KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb",         GROUP="lp"
 
 # usbfs-like devices
-SUBSYSTEM=="usb_device",       MODE="0664"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
+                               MODE="0664"
 
 # iRiver music players
-SUBSYSTEM=="usb_device",                       GROUP="plugdev", \
-       SYSFS{idVendor}=="4102", SYSFS{idProduct}=="10[01][135789]"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",  GROUP="plugdev", \
+       ATTRS{idVendor}=="4102", ATTRS{idProduct}=="10[01][135789]"
 
 # serial devices
 SUBSYSTEM=="tty",                              GROUP="dialout"
@@ -68,15 +86,26 @@ KERNEL=="inotify",          MODE="0666"
 KERNEL=="sgi_fetchop",         MODE="0666"
 KERNEL=="sonypi",              MODE="0666"
 KERNEL=="agpgart",                             GROUP="video"
-KERNEL=="rtc",                                 GROUP="audio"
+KERNEL=="nvram",                               GROUP="nvram"
+KERNEL=="rtc|rtc[0-9]*",                       GROUP="audio"
+KERNEL=="tpm*",                        MODE="0600",    OWNER="tss", GROUP="tss"
+KERNEL=="fuse",                                        GROUP="fuse"
+KERNEL=="kqemu",               MODE="0666"
+KERNEL=="kvm",                                 GROUP="kvm"
+KERNEL=="tun",                 MODE="0666",
 
 KERNEL=="cdemu[0-9]*",                         GROUP="cdrom"
 KERNEL=="pktcdvd[0-9]*",                       GROUP="cdrom"
 KERNEL=="pktcdvd",             MODE="0644"
 
+KERNEL=="uverbs*",                             GROUP="rdma"
+KERNEL=="ucm*",                                        GROUP="rdma"
+KERNEL=="rdma_ucm",                            GROUP="rdma"
+
 # printers and parallel devices
 SUBSYSTEM=="printer",                          GROUP="lp"
 SUBSYSTEM=="ppdev",                            GROUP="lp"
+KERNEL=="irlpt*",                              GROUP="lp"
 KERNEL=="pt[0-9]*",                            GROUP="tape"
 KERNEL=="pht[0-9]*",                           GROUP="tape"
 
@@ -89,9 +118,10 @@ KERNEL=="dv1394*",                          GROUP="video"
 KERNEL=="video1394*",                          GROUP="video"
 
 # input devices
-KERNEL=="event[0-9]*", SYSFS{name}=="*dvb*|*DVB*|* IR *" \
+KERNEL=="event[0-9]*", ATTRS{name}=="*dvb*|*DVB*|* IR *" \
                                MODE="0664",    GROUP="video"
 KERNEL=="js[0-9]*",            MODE="0664"
+KERNEL=="lirc[0-9]*",                          GROUP="video"
 
 # AOE character devices
 SUBSYSTEM=="aoe",              MODE="0220",    GROUP="disk"
diff --git a/meta/packages/udev/udev-124/run.rules b/meta/packages/udev/udev-124/run.rules
new file mode 100644 (file)
index 0000000..75d7137
--- /dev/null
@@ -0,0 +1,14 @@
+# debugging monitor
+RUN+="socket:/org/kernel/udev/monitor"
+
+# run a command on remove events
+ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
+
+# ignore the events generated by virtual consoles
+KERNEL=="ptmx",                OPTIONS+="last_rule"
+KERNEL=="console",     OPTIONS+="last_rule"
+KERNEL=="tty"  ,       OPTIONS+="last_rule"
+KERNEL=="tty[0-9]*",   OPTIONS+="last_rule"
+KERNEL=="pty*",                OPTIONS+="last_rule"
+SUBSYSTEM=="vc",       OPTIONS+="last_rule"
+
index 4d29acac0c508fb0dfa5b03ab8317ec7c10cb3bd..443315ea535e36355a40c79da007f26e61a9e840 100644 (file)
 # %% the '%' char itself
 #
 
+# workaround for devices which do not report media changes
+SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \
+       ENV{ID_MODEL}=="IOMEGA_ZIP*",   NAME="%k", OPTIONS+="all_partitions"
+SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTRS{media}=="floppy", \
+       OPTIONS+="all_partitions"
+
 # SCSI devices
-BUS=="scsi", KERNEL=="sr[0-9]*",       NAME="scd%n", SYMLINK+="sr%n"
+SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*",        NAME="scd%n", SYMLINK+="sr%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*", \
+SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*",       NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*",       NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="dabusb*",          NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="hiddev*",          NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="legousbtower*",    NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*",         NAME="usb/%k"
+SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
+       ATTRS{product}=="Palm Handheld*|Handspring Visor|palmOne Handheld", \
                                        SYMLINK+="pilot"
 
 # usbfs-like devices
-SUBSYSTEM=="usb_device", \
-       PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
+SUBSYSTEM=="usb_device",       PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \
+                               NAME="%c"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",  NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
 
 # serial devices
 KERNEL=="capi",                        NAME="capi20", SYMLINK+="isdn/capi20"
 KERNEL=="capi[0-9]*",          NAME="capi/%n"
 
 # video devices
+KERNEL=="dvb*",                        PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \
+                               NAME="%c"
 KERNEL=="card[0-9]*",          NAME="dri/%k"
 
 # misc devices
 KERNEL=="hw_random",           NAME="hwrng"
 KERNEL=="tun",                 NAME="net/%k"
+KERNEL=="evtchn",              NAME="xen/%k"
 
 KERNEL=="cdemu[0-9]*",         NAME="cdemu/%n"
 KERNEL=="pktcdvd[0-9]*",       NAME="pktcdvd/%n"
@@ -52,9 +63,8 @@ KERNEL=="microcode",          NAME="cpu/microcode"
 KERNEL=="umad*",               NAME="infiniband/%k"
 KERNEL=="issm*",               NAME="infiniband/%k"
 KERNEL=="uverbs*",             NAME="infiniband/%k"
-KERNEL=="ucm",                 NAME="infiniband/%k"
-
-KERNEL=="buzzer",              NAME="misc/buzzer"
+KERNEL=="ucm*",                        NAME="infiniband/%k"
+KERNEL=="rdma_ucm",            NAME="infiniband/%k"
 
 # ALSA devices
 KERNEL=="controlC[0-9]*",      NAME="snd/%k"
@@ -87,6 +97,7 @@ KERNEL=="zap[0-9]*",          NAME="zap/%n"
 SUBSYSTEM=="aoe", KERNEL=="discover",  NAME="etherd/%k"
 SUBSYSTEM=="aoe", KERNEL=="err",       NAME="etherd/%k"
 SUBSYSTEM=="aoe", KERNEL=="interfaces",        NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="revalidate",        NAME="etherd/%k"
 
 # device mapper creates its own device nodes, so ignore these
 KERNEL=="dm-[0-9]*",           OPTIONS+="ignore_device"
index 4a403c542fd0a8a2d58a31f7da0647616db24013..e4f7cb351b10b7d86276b779e16f8649172f807f 100644 (file)
@@ -3,13 +3,14 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
 the hotplug package and requires a kernel not older than 2.6.12."
 RPROVIDES_${PN} = "hotplug"
 
-PR = "r2"
+PR = "r4"
 
 SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
           file://noasmlinkage.patch;patch=1 \
           file://flags.patch;patch=1 \
           file://vol_id_ld.patch;patch=1 \
           file://udevtrigger_add_devname_filtering.patch;patch=1 \
+          file://run.rules \
           "
 
 SRC_URI_append_h2200 = " file://50-hostap_cs.rules "
@@ -35,6 +36,7 @@ do_install () {
 
        install -m 0644 ${WORKDIR}/local.rules         ${D}${sysconfdir}/udev/rules.d/local.rules
        install -m 0644 ${WORKDIR}/permissions.rules   ${D}${sysconfdir}/udev/rules.d/permissions.rules
+       install -m 0644 ${WORKDIR}/run.rules          ${D}${sysconfdir}/udev/rules.d/run.rules
        install -m 0644 ${WORKDIR}/udev.rules          ${D}${sysconfdir}/udev/rules.d/udev.rules
        install -m 0644 ${WORKDIR}/links.conf          ${D}${sysconfdir}/udev/links.conf
        if [ "${UDEV_DEVFS_RULES}" = "1" ]; then