chiark / gitweb /
rules: mount fuse control filesystem
[elogind.git] / rules / rules.d / 50-udev-default.rules
index c2dda7688e05c0b51456ab0c74266704de8503bf..667c3e8ef24c13d70e2fe1a33adf9373e57ac965 100644 (file)
 # do not edit this file, it will be overwritten on update
 
-SUBSYSTEM=="block", SYMLINK+="block/%M:%m"
-SUBSYSTEM!="block", SYMLINK+="char/%M:%m"
+SUBSYSTEM=="block", SYMLINK{unique}+="block/%M:%m"
+SUBSYSTEM!="block", SYMLINK{unique}+="char/%M:%m"
 
-KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS+="last_rule"
-KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS+="last_rule"
-KERNEL=="ptmx",                        GROUP="tty", MODE="0666", OPTIONS+="last_rule"
-KERNEL=="tty",                 GROUP="tty", MODE="0666", OPTIONS+="last_rule"
-KERNEL=="tty[0-9]*",           GROUP="tty", MODE="0620", OPTIONS+="last_rule"
-KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty", OPTIONS+="last_rule"
-KERNEL=="console",             MODE="0600", OPTIONS+="last_rule"
+KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
+KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
+KERNEL=="ptmx",                        GROUP="tty", MODE="0666"
+KERNEL=="tty",                 GROUP="tty", MODE="0666"
+KERNEL=="tty[0-9]*",           GROUP="tty", MODE="0620"
+KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty"
 
 # serial
-KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp"
-KERNEL=="ppp",                 MODE="0600", OPTIONS+="ignore_remove"
-KERNEL=="mwave",               NAME="modems/mwave", GROUP="uucp"
-KERNEL=="hvc*|hvsi*",          GROUP="uucp"
-KERNEL=="lirc0",               SYMLINK+="lirc"
+KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
+KERNEL=="mwave",               GROUP="dialout"
+KERNEL=="hvc*|hvsi*",          GROUP="dialout"
+
+# virtio serial / console ports
+KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
 
 # mem
 KERNEL=="null|zero|full|random|urandom", MODE="0666"
-KERNEL=="null",                        SYMLINK+="X0R"
 KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640"
-KERNEL=="ram0",                        SYMLINK+="ramdisk"
-KERNEL=="ram1",                        SYMLINK+="ram"
 
 # input
-KERNEL=="mouse*|mice|event*",  NAME="input/%k", MODE="0640"
-KERNEL=="ts[0-9]*|uinput",     NAME="input/%k", MODE="0640"
-KERNEL=="js[0-9]*",            NAME="input/%k", MODE="0644"
+KERNEL=="mouse*|mice|event*",  MODE="0640"
+KERNEL=="ts[0-9]*|uinput",     MODE="0640"
+KERNEL=="js[0-9]*",            MODE="0644"
 
 # video4linux
 SUBSYSTEM=="video4linux",      GROUP="video"
 KERNEL=="vttuner*",            GROUP="video"
 KERNEL=="vtx*|vbi*",           GROUP="video"
 KERNEL=="winradio*",           GROUP="video"
-KERNEL=="vbi0",                        SYMLINK+="vbi"
-KERNEL=="radio0",              SYMLINK+="radio"
-KERNEL=="video0",              SYMLINK+="video"
 
 # graphics
-KERNEL=="agpgart",             MODE="0600", GROUP="video"
-KERNEL=="card[0-9]*",          NAME="dri/%k"
-KERNEL=="fb0",                 SYMLINK+="fb"
+KERNEL=="agpgart",             GROUP="video"
 KERNEL=="pmu",                 GROUP="video"
 KERNEL=="nvidia*|nvidiactl*",  GROUP="video"
 SUBSYSTEM=="graphics",         GROUP="video"
+SUBSYSTEM=="drm",              GROUP="video"
+
+# sound
+SUBSYSTEM=="sound",            GROUP="audio"
+KERNEL=="mixer0",              SYMLINK+="mixer"
+
+# DVB (video)
+SUBSYSTEM=="dvb", GROUP="video"
 
-# DVB video
-SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c"
-SUBSYSTEM=="dvb",              GROUP="video"
+# FireWire (firewire-core driver: IIDC devices, AV/C devices)
+SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
+SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
 
-# Firewire
-KERNEL=="dv1394*",             SYMLINK+="dv1394/%n"
-KERNEL=="video1394*",          NAME="video1394/%n"
-KERNEL=="dv1394*|video1394*|raw1394*", GROUP="video"
+# FireWire (deprecated dv1394 and video1394 drivers)
+KERNEL=="dv1394-[0-9]*",       NAME="dv1394/%n", GROUP="video"
+KERNEL=="video1394-[0-9]*",    NAME="video1394/%n", GROUP="video"
 
 # libusb device nodes
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
 
 # printer
 KERNEL=="parport[0-9]*",       GROUP="lp"
 SUBSYSTEM=="printer",          KERNEL=="lp*", GROUP="lp"
 SUBSYSTEM=="ppdev",            GROUP="lp"
-SUBSYSTEM=="usb",              KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
-KERNEL=="lp[0-9]*",            GROUP="lp", SYMLINK+="par%n"
+SUBSYSTEM=="usb",              KERNEL=="lp*", SYMLINK+="usb%k", GROUP="lp"
+KERNEL=="lp[0-9]*",            GROUP="lp"
 KERNEL=="irlpt[0-9]*",         GROUP="lp"
+# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to
+# the ones from the old usblp kernel module
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="0664"
 
-# block, tapes, block-releated
+# block
 SUBSYSTEM=="block", GROUP="disk"
-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n"
-KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"
-KERNEL=="fd[0-9]",             GROUP="floppy"
-KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
-KERNEL=="sch[0-9]*",           GROUP="disk"
-KERNEL=="sg[0-9]*",            ATTRS{type}!="3|6", GROUP="disk", MODE="0640"
-KERNEL=="ht[0-9]*|nht[0-9]*",  GROUP="disk"
-KERNEL=="pg[0-9]*",            GROUP="disk"
-KERNEL=="pt[0-9]*|npt[0-9]*",  GROUP="disk"
+
+# floppy
+SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
+
+# cdrom
+SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="cdrom"
+SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
+KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
+KERNEL=="pktcdvd", GROUP="cdrom"
+
+# tape
+KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape"
+KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape"
+SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
+
+# block-related
+KERNEL=="sch[0-9]*", GROUP="disk"
+SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
+KERNEL=="pg[0-9]*", GROUP="disk"
 KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
-KERNEL=="rawctl",              NAME="raw/%k", GROUP="disk"
-SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
-KERNEL=="pktcdvd[0-9]*",       NAME="pktcdvd/%k"
-KERNEL=="pktcdvd",             NAME="pktcdvd/control"
-KERNEL=="qft0",                        SYMLINK+="ftape"
-SUBSYSTEM=="bsg",              NAME="bsg/%k"
-SUBSYSTEM=="aoe",              NAME="etherd/%k", GROUP="disk", MODE="0220"
+KERNEL=="rawctl", GROUP="disk"
+SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
+SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
 SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
 
 # network
-KERNEL=="tun",                 NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove"
+KERNEL=="tun",                 MODE="0666", OPTIONS+="static_node=net/tun"
+KERNEL=="rfkill",              MODE="0644"
 
 # CPU
-KERNEL=="cpu[0-9]*",           NAME="cpu/%n/cpuid"
-KERNEL=="msr[0-9]*",           NAME="cpu/%n/msr"
-KERNEL=="microcode",           NAME="cpu/microcode", MODE="0600"
-
-# miscellaneous
-KERNEL=="fuse",                        MODE="0666"
-KERNEL=="rtc|rtc0",            MODE="0644"
-KERNEL=="rtc0",                        SYMLINK+="rtc"
-KERNEL=="auer[0-9]*",          NAME="usb/%k"
-KERNEL=="hw_random",           NAME="hwrng", SYMLINK+="%k"
+KERNEL=="cpu[0-9]*",           MODE="0444"
+
+KERNEL=="fuse",                        MODE="0666", OPTIONS+="static_node=fuse" \
+  RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections"
+
+SUBSYSTEM=="rtc", DRIVERS=="rtc_cmos", SYMLINK+="rtc"
 KERNEL=="mmtimer",             MODE="0644"
 KERNEL=="rflash[0-9]*",                MODE="0400"
 KERNEL=="rrom[0-9]*",          MODE="0400"
-KERNEL=="sbpcd0",              SYMLINK+="sbpcd"
-KERNEL=="slram[0-9]*",                 SYMLINK+="xpram%n"
-KERNEL=="sxctl",               NAME="specialix_sxctl""
-KERNEL=="rioctl",              NAME="specialix_rioctl"
-KERNEL=="iowarrior[0-9]*",     NAME="usb/%k"
-KERNEL=="hiddev[0-9]*",                NAME="usb/%k"
-KERNEL=="legousbtower[0-9]*",  NAME="usb/%k"
-KERNEL=="dabusb[0-9]*",                NAME="usb/%k"
-KERNEL=="usbdpfp[0-9]*",       NAME="usb/%k"
-KERNEL=="cpad[0-9]*",          NAME="usb/%k"
-
-# do not delete static device nodes
-ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", OPTIONS+="ignore_remove"
-