From 192112aa785892a44ceafcc7dfda0f93dec540ab Mon Sep 17 00:00:00 2001 From: fake Date: Mon, 27 Mar 2006 09:07:34 +0000 Subject: [PATCH] fake: udev: simplify scsi rules and the scsi- devfs.sh script, fix permissions [2006032316275825589] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@7351 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/udev/devfs.rules | 5 +- package/base/udev/permissions.rules | 62 +++++++++++++------------ package/base/udev/scripts/scsi-devfs.sh | 23 ++++----- 3 files changed, 41 insertions(+), 49 deletions(-) diff --git a/package/base/udev/devfs.rules b/package/base/udev/devfs.rules index 57852341a..f659d26a3 100644 --- a/package/base/udev/devfs.rules +++ b/package/base/udev/devfs.rules @@ -22,10 +22,7 @@ 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}" # SCSI devices -BUS=="scsi", KERNEL=="sd*", PROGRAM="/lib/udev/scsi-devfs.sh sd %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}" -BUS=="scsi", KERNEL=="sr*", PROGRAM="/lib/udev/scsi-devfs.sh sr %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}" -BUS=="scsi", KERNEL=="st*", PROGRAM="/lib/udev/scsi-devfs.sh st %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}" -BUS=="scsi", KERNEL=="sg*", PROGRAM="/lib/udev/scsi-devfs.sh sg %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}" +BUS=="scsi", PROGRAM="/lib/udev/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}" # RAID controllers KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="/lib/udev/raid-devfs.sh %k", \ diff --git a/package/base/udev/permissions.rules b/package/base/udev/permissions.rules index 212136b27..be7458b87 100644 --- a/package/base/udev/permissions.rules +++ b/package/base/udev/permissions.rules @@ -1,26 +1,28 @@ # default permissions for block devices +# mostly examples, we're missing lots of groups. +# SUBSYSTEM=="block", GROUP="disk" -SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy" +# SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy" # IDE devices -BUS=="ide", KERNEL=="hd[a-z]", SYSFS{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" +# BUS=="ide", KERNEL=="hd[a-z]", SYSFS{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", SYSFS{type}=="1", GROUP="tape" +# BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom" +# BUS=="scsi", SYSFS{type}=="6", GROUP="scanner" # USB devices -BUS=="usb", KERNEL=="legousbtower*", MODE="0666" -BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp" +# BUS=="usb", KERNEL=="legousbtower*", MODE="0666" +# BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp" # serial devices -SUBSYSTEM=="tty", GROUP="dialout" -SUBSYSTEM=="capi", GROUP="dialout" -SUBSYSTEM=="slamr", GROUP="dialout" +# SUBSYSTEM=="tty", GROUP="tty" +# SUBSYSTEM=="capi", GROUP="tty" +# SUBSYSTEM=="slamr", GROUP="tty" # vc devices (all members of the tty subsystem) KERNEL=="ptmx", MODE="0666", GROUP="root" @@ -29,12 +31,12 @@ KERNEL=="tty", MODE="0666", GROUP="root" KERNEL=="tty[0-9]*", GROUP="root" # video devices -SUBSYSTEM=="video4linux", GROUP="video" -SUBSYSTEM=="drm", GROUP="video" -SUBSYSTEM=="dvb", GROUP="video" -SUBSYSTEM=="em8300", GROUP="video" -SUBSYSTEM=="graphics", GROUP="video" -SUBSYSTEM=="nvidia", GROUP="video" +# SUBSYSTEM=="video4linux", GROUP="video" +# SUBSYSTEM=="drm", GROUP="video" +# SUBSYSTEM=="dvb", GROUP="video" +# SUBSYSTEM=="em8300", GROUP="video" +# SUBSYSTEM=="graphics", GROUP="video" +# SUBSYSTEM=="nvidia", GROUP="video" # misc devices KERNEL=="random", MODE="0666" @@ -48,31 +50,31 @@ KERNEL=="zero", MODE="0666" KERNEL=="inotify", MODE="0666" KERNEL=="sgi_fetchop", MODE="0666" KERNEL=="sonypi", MODE="0666" -KERNEL=="agpgart", GROUP="video" -KERNEL=="nvram", GROUP="nvram" +# KERNEL=="agpgart", GROUP="video" +# KERNEL=="nvram", GROUP="nvram" KERNEL=="rtc", MODE="0660", GROUP="sound" -KERNEL=="cdemu[0-9]*", GROUP="cdrom" -KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" +# KERNEL=="cdemu[0-9]*", GROUP="cdrom" +# KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" KERNEL=="pktcdvd", MODE="0644" # printers and parallel devices -SUBSYSTEM=="printer", GROUP="lp" -SUBSYSTEM=="ppdev", GROUP="lp" -KERNEL=="pt[0-9]*", GROUP="tape" -KERNEL=="pht[0-9]*", GROUP="tape" +# SUBSYSTEM=="printer", GROUP="lp" +# SUBSYSTEM=="ppdev", GROUP="lp" +# KERNEL=="pt[0-9]*", GROUP="tape" +# KERNEL=="pht[0-9]*", GROUP="tape" # sound devices SUBSYSTEM=="sound", GROUP="sound" # ieee1394 devices KERNEL=="raw1394", GROUP="disk" -KERNEL=="dv1394*", GROUP="video" -KERNEL=="video1394*", GROUP="video" +# KERNEL=="dv1394*", GROUP="video" +# KERNEL=="video1394*", GROUP="video" # input devices KERNEL=="event[0-9]*", PROGRAM="/lib/udev/inputdev.sh %k", \ - RESULT=="inputdev", MODE="0664", GROUP="video" + RESULT=="inputdev", MODE="0664" KERNEL=="js[0-9]*", MODE="0664" # AOE character devices diff --git a/package/base/udev/scripts/scsi-devfs.sh b/package/base/udev/scripts/scsi-devfs.sh index 9fe06c00a..0c899c8d9 100644 --- a/package/base/udev/scripts/scsi-devfs.sh +++ b/package/base/udev/scripts/scsi-devfs.sh @@ -8,10 +8,7 @@ # # return devfs-names for scsi-devices # Usage in udev.rules: -# BUS="scsi", KERNEL="sd*", PROGRAM="/lib/udev/scsi-devfs.sh sd %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3} %c{4}" -# BUS="scsi", KERNEL="sr*", PROGRAM="/lib/udev/scsi-devfs.sh sr %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3} %c{4}" -# BUS="scsi", KERNEL="st*", PROGRAM="/lib/udev/scsi-devfs.sh st %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3} %c{4}" -# BUS="scsi", KERNEL="sg*", PROGRAM="/lib/udev/scsi-devfs.sh sg %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3} %c{4}" +# BUS="scsi", PROGRAM="/lib/udev/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%c{2} %k" # Find out where sysfs is mounted. Exit if not available sysfs=`grep -F sysfs /proc/mounts | awk '{print $2}'` @@ -22,7 +19,7 @@ fi cd $sysfs/bus/scsi/devices case "$1" in - sd) + sd*) # Extract partition component if [ "$3" = "" ]; then lpart="disc" @@ -32,15 +29,15 @@ case "$1" in spart="p$3" fi ;; - sr) + sr*) lpart="cdrom" spart="" ;; - st) + st*) # Not supported yet exit 1 ;; - sg) + sg*) lpart="generic" spart="" ;; @@ -55,17 +52,13 @@ scsi_bus=`echo $2 | cut -f 2 -d:` scsi_target=`echo $2 | cut -f 3 -d:` scsi_lun=`echo $2 | cut -f 4 -d:` -# Generate long and short common name parts +# Generate common and logical names l_com="bus$scsi_bus/target$scsi_target/lun$scsi_lun/$lpart" -s_com="b${scsi_bus}t${scsi_target}u${scsi_lun}$spart" - -# Generate long and short logical names l_log="scsi/host$scsi_host/$l_com" -s_log="$1/c${scsi_host}${s_com}" if [ -d /dev/discs ] ; then for x in /dev/discs/disc* ; do - if readlink `ls -d $x/* | awk '{print $0; exit;}'` | grep -q "${l_log%$lpart}" ; then + if readlink `ls -d $x/* | awk '{print $0; exit;}'` | grep -q "${l_log%${lpart}}" ; then x=`echo $x | cut -f3 -dc` # gives the number in disc0 break fi @@ -77,4 +70,4 @@ if [ -z "${x}" ] ; then x="`ls /dev/discs/ 2> /dev/null | grep -c .`" fi -echo $l_log $s_log discs/disc${x}/${lpart} +echo $l_log discs/disc${x}/${lpart}