--- trunk/udev/udev.rules.magellan 2007/08/17 20:08:25 293 +++ trunk/udev/udev.rules.magellan 2009/05/04 21:51:39 781 @@ -1,5 +1,5 @@ # /etc/udev/rules/50-udev.rules: device naming rules for udev -# $Header: /root/magellan-cvs/src/udev/udev.rules.magellan,v 1.4 2007-08-17 20:08:25 niro Exp $ +# $Header: /root/magellan-cvs/src/udev/udev.rules.magellan,v 1.8 2009-05-04 21:51:39 niro Exp $ # # There are a number of modifiers that are allowed to be used in some # of the different fields. They provide the following subsitutions: @@ -17,248 +17,123 @@ # Try not to modify this file, if you wish to change things, create a new rule # file that can be run before this one. # +# initramfs:default +SUBSYSTEM=="block", SYMLINK+="block/%M:%m" +SUBSYSTEM!="block", SYMLINK+="char/%M:%m" -# console -KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="vcs*", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="vcsa*", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="tty", NAME="%k", GROUP="tty", MODE="0666", OPTIONS="last_rule" -KERNEL=="tty[0-9]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="tty[0-9][0-9]", NAME="%k", GROUP="tty", OPTIONS="last_rule" -KERNEL=="console", NAME="%k", GROUP="tty", MODE="0600" -KERNEL=="ptmx", NAME="%k", GROUP="tty", MODE="0666" - -# tty devices -KERNEL=="ttyS[0-9]*", NAME="%k", SYMLINK="tts/%n", GROUP="tty" -KERNEL=="ttyUSB[0-9]*", NAME="%k", SYMLINK="tts/USB%n", GROUP="tty", MODE="0660" -KERNEL=="ippp0", NAME="%k", GROUP="tty" -KERNEL=="isdn*" NAME="%k", GROUP="tty" -KERNEL=="dcbri*", NAME="%k", GROUP="tty" -KERNEL=="ircomm*", NAME="%k", GROUP="tty" +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" +KERNEL=="console", MODE="0600" + +# serial +KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*", GROUP="dialout" +KERNEL=="ppp", MODE="0600" +KERNEL=="mwave", NAME="modems/mwave", GROUP="dialout" +KERNEL=="hvc*|hvsi*", GROUP="dialout" + +# mem +KERNEL=="null|zero|full|random|urandom", MODE="0666" +KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640" + +# 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" + +# video4linux +SUBSYSTEM=="video4linux", GROUP="video" +KERNEL=="vttuner*", GROUP="video" +KERNEL=="vtx*|vbi*", GROUP="video" +KERNEL=="winradio*", GROUP="video" + +# graphics +KERNEL=="agpgart", MODE="0600", GROUP="video" +KERNEL=="card[0-9]*", NAME="dri/%k" +KERNEL=="pmu", GROUP="video" +KERNEL=="nvidia*|nvidiactl*", GROUP="video" +SUBSYSTEM=="graphics", GROUP="video" +SUBSYSTEM=="drm", GROUP="video" + +# DVB (video) +SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="?*", NAME="dvb/adapter$env{DVB_ADAPTER_NUM}/$env{DVB_DEVICE_TYPE}$env{DVB_DEVICE_NUM}", GROUP="video" +SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video" + +# Firewire +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" + +# 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" +KERNEL=="irlpt[0-9]*", GROUP="lp" -# all block devices +# block SUBSYSTEM=="block", GROUP="disk" -# cdrom symlinks and other good cdrom naming -KERNEL=="sr[0-9]*|hd[a-z]|pcd[0-9]*", ACTION=="add", IMPORT{program}="cdrom_id --export $tempnode" -ENV{ID_CDROM}=="?*", GROUP="cdrom" -SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n" - -# assign cdrom-permission also to associated generic device (for cd-burning ...) -KERNEL=="sg[0-9]*", ACTION=="add", ATTRS{type}=="4|5", GROUP="cdrom" - -# disk devices -KERNEL=="sd*", NAME="%k", GROUP="disk" -KERNEL=="dasd*", NAME="%k", GROUP="disk" -KERNEL=="ataraid*", NAME="%k", GROUP="disk" - -# compaq smart array -KERNEL=="cciss*", NAME="%k" -KERNEL=="ida*", NAME="%k" - -# mylex -KERNEL=="rd*", NAME="%k" - -# dri devices -KERNEL=="card*", NAME="dri/card%n", GROUP="video" -KERNEL=="nvidia*", NAME="%k", GROUP="video" -KERNEL=="3dfx*", NAME="%k", GROUP="video" - -# alsa devices -SUBSYSTEM=="sound", GROUP="audio" -KERNEL=="controlC[0-9]*", NAME="snd/%k" -KERNEL=="hw[CD0-9]*", NAME="snd/%k" -KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k" -KERNEL=="midiC[D0-9]*", NAME="snd/%k" -KERNEL=="timer", NAME="snd/%k" -KERNEL=="seq", NAME="snd/%k" - -# capi devices -KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20", GROUP="dialout" -KERNEL=="capi*", NAME="capi/%n", GROUP="dialout" - -# cpu devices -KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" -KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" -KERNEL=="microcode", NAME="cpu/microcode" - -# fb devices -KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video" - -# floppy devices -KERNEL=="fd[0-9]*", NAME="floppy/%k", SYMLINK+="%k", GROUP="floppy" -KERNEL=="fd[0-9]*", ACTION=="add", ATTRS{cmos}=="*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0660 -G floppy $root/floppy/%k" -KERNEL=="fd[0-9]*", ACTION=="remove", RUN+="/bin/sh -c 'rm -f $root/floppy/%k?*'" - -# i2c devices -KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k" - -# input devices -KERNEL=="mice", NAME="input/%k", MODE="0644" -KERNEL=="mouse*", NAME="input/%k", MODE="0644" -KERNEL=="event*", NAME="input/%k", MODE="0600" -KERNEL=="js*", NAME="input/%k", MODE="0664" -KERNEL=="ts*", NAME="input/%k", MODE="0600" - -# loop devices -KERNEL=="loop[0-9]*", NAME="loop/%n", SYMLINK+="%k", GROUP="disk" - -# md block devices -KERNEL=="md[0-9]*", NAME="md/%n", SYMLINK+="%k", GROUP="disk" - -# aoe char devices, -SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220" -SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440" -SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220" - -# misc devices -KERNEL=="agpgart", NAME="misc/%k", SYMLINK+="%k" -KERNEL=="psaux", NAME="misc/%k", SYMLINK+="%k" -KERNEL=="rtc", NAME="misc/%k", SYMLINK+="%k", MODE="0664" -KERNEL=="uinput", NAME="misc/%k", SYMLINK+="%k" -KERNEL=="inotify", NAME="misc/%k", SYMLINK+="%k", MODE="0666" - -# netlink devices -KERNEL=="route", NAME="netlink/%k" -KERNEL=="skip", NAME="netlink/%k" -KERNEL=="usersock", NAME="netlink/%k" -KERNEL=="fwmonitor", NAME="netlink/%k" -KERNEL=="tcpdiag", NAME="netlink/%k" -KERNEL=="nflog", NAME="netlink/%k" -KERNEL=="xfrm", NAME="netlink/%k" -KERNEL=="arpd", NAME="netlink/%k" -KERNEL=="route6", NAME="netlink/%k" -KERNEL=="ip6_fw", NAME="netlink/%k" -KERNEL=="dnrtmsg", NAME="netlink/%k" -KERNEL=="tap*", NAME="netlink/%k" - -# network devices -KERNEL=="tun", NAME="net/%k", MODE="0660", OPTIONS+="ignore_remove" -KERNEL=="ppp", MODE="0600", OPTIONS+="ignore_remove" - -# ramdisk devices -KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k" - -# IEEE1394 (firewire) devices (must be before raw devices below) -KERNEL=="raw1394", NAME="%k", GROUP="video" -KERNEL=="dv1394*", NAME="dv1394/%n", GROUP="video" -KERNEL=="video1394*", NAME="video1394/%n", GROUP="video" - -# raw devices -SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk" -KERNEL=="ram*", NAME="%k", GROUP="disk" - -# sound devices -KERNEL=="adsp", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="adsp[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="audio", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="audio[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="dsp", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="dsp[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="mixer", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="mixer[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="sequencer", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" -KERNEL=="sequencer[0-9]*", NAME="sound/%k", SYMLINK+="%k", GROUP="audio" - -# memory devices -KERNEL=="random", NAME="%k", MODE="0666" -KERNEL=="urandom", NAME="%k", MODE="0444" -KERNEL=="mem", NAME="%k", MODE="0640" -KERNEL=="kmem", NAME="%k", MODE="0640" -KERNEL=="port", NAME="%k", MODE="0640" -KERNEL=="full", NAME="%k", MODE="0666" -KERNEL=="null", NAME="%k", MODE="0666" -KERNEL=="zero", NAME="%k", MODE="0666" - -# usb devices -KERNEL=="hiddev*", NAME="usb/%k" -KERNEL=="auer*", NAME="usb/%k" -KERNEL=="legousbtower*", NAME="usb/%k", GROUP="usb" -KERNEL=="dabusb*", NAME="usb/%k" -KERNEL=="lp[0-9]*", SUBSYSTEM=="usb", NAME="usb/%k", GROUP="lp" - -# v4l devices -KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="video%n", GROUP="video" -KERNEL=="radio[0-9]*", NAME="v4l/radio%n", SYMLINK+="radio%n", GROUP="video" -KERNEL=="vbi[0-9]*", NAME="v4l/vbi%n", SYMLINK+="vbi%n", GROUP="video" -KERNEL=="vtx[0-9]*", NAME="v4l/vtx%n", GROUP="video" - -# dvb devices -SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video" - -# Asterisk Zaptel devices -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" - -# pilot/palm devices -KERNEL=="pilot", NAME="%k", GROUP="uucp" - -# jaz devices -KERNEL=="jaz*", NAME="%k", GROUP="disk" - -# zip devices -KERNEL=="pocketzip*", NAME="%k", GROUP="disk" -KERNEL=="zip*", NAME="%k", GROUP="disk" - -# ls120 devices -KERNEL=="ls120", NAME="%k", GROUP="disk" - -# lp devices -KERNEL=="lp*", NAME="%k", GROUP="lp" -KERNEL=="irlpt", NAME="%k", GROUP="lp" -KERNEL=="usblp", NAME="%k", GROUP="lp" -KERNEL=="lp*", NAME="%k", GROUP="lp" -KERNEL=="parport*", NAME="%k", GROUP="lp" - -# tape devices -KERNEL=="ht*", NAME="%k", GROUP="tape" -KERNEL=="nht*", NAME="%k", GROUP="tape" -KERNEL=="pt*", NAME="%k", GROUP="tape" -KERNEL=="npt*", NAME="%k", GROUP="tape" -KERNEL=="st*", NAME="%k", GROUP="tape" -KERNEL=="nst*", NAME="%k", GROUP="tape" -KERNEL=="osst*", NAME="%k", GROUP="tape" -KERNEL=="nosst*", NAME="%k", GROUP="tape" - -# diskonkey devices -KERNEL=="diskonkey*", NAME="%k", GROUP="disk" - -# rem_ide devices -KERNEL=="microdrive*", NAME="%k", GROUP="disk" - -# kbd devices -KERNEL=="kbd", NAME="%k", MODE="0664" - -# Sony Vaio Jogdial sonypi device -KERNEL=="sonypi", NAME="%k", MODE="0666" - -# packet devices -KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="cdrw", MODE="0660" -KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/pktcdvd%n", GROUP="cdrw", MODE="0660" - -# infiniband devices -KERNEL=="umad*", NAME="infiniband/%k" -KERNEL=="issm*", NAME="infiniband/%k" - - -# usbfs-like device nodes -# the way to go up to kernel 2.6.21 (and above if setting USB_DEVICE_CLASS=y) -SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="usb", MODE="0664" -# starting from kernel 2.6.22 use this rule -SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", GROUP="usb", MODE="0664" - -# Timeouts for scsi devices -# Setting timeout for tape-devices (type 1) to 900 seconds -# and 60 seconds for device types 0, 7 and 14 -# if you need timeouts for other devices add a similar rule -# with correct type-value, or open a bug on bugs.gentoo.org. -SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60" -SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900" - -# Load firmware -SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh" +# floppy +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=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions" + +# cdrom +SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="cdrom" +SUBSYSTEM=="block", KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="cdrom", GROUP="cdrom" +SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom" +KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k", GROUP="cdrom" +KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="cdrom" + +# tape +KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape" +KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape" +SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape" + +# block-releated +KERNEL=="sch[0-9]*", GROUP="disk" +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/rawctl", GROUP="disk" +SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk" +SUBSYSTEM=="bsg", NAME="bsg/%k" +SUBSYSTEM=="aoe", NAME="etherd/%k", GROUP="disk", MODE="0220" +SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440" + +# network +KERNEL=="tun", NAME="net/%k", MODE="0666" + +# 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" +SUBSYSTEM=="rtc", DRIVERS=="rtc_cmos", SYMLINK+="rtc" +KERNEL=="auer[0-9]*", NAME="usb/%k" +KERNEL=="hw_random", NAME="hwrng" +KERNEL=="mmtimer", MODE="0644" +KERNEL=="rflash[0-9]*", MODE="0400" +KERNEL=="rrom[0-9]*", MODE="0400" +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" +ACTION=="remove", NAME=="", TEST=="/lib/udev/devices/%k", OPTIONS+="ignore_remove"