@ -0,0 +1,150 @@ |
|||
# There are a number of modifiers that are allowed to be used in some |
|||
# of the different fields. They provide the following subsitutions: |
|||
# |
|||
# %n the "kernel number" of the device. |
|||
# For example, 'sda3' has a "kernel number" of '3' |
|||
# %e the smallest number for that name which does not matches an existing node |
|||
# %k the kernel name for the device |
|||
# %M the kernel major number for the device |
|||
# %m the kernel minor number for the device |
|||
# %b the bus id for the device |
|||
# %c the string returned by the PROGRAM |
|||
# %s{filename} the content of a sysfs attribute |
|||
# %% the '%' char itself |
|||
# |
|||
|
|||
# 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" |
|||
|
|||
# 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}" |
|||
|
|||
# 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}" |
|||
|
|||
# RAID controllers |
|||
KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="/lib/udev/raid-devfs.sh %k", \ |
|||
NAME="%c{1}", SYMLINK+="%k" |
|||
|
|||
# other block devices |
|||
KERNEL=="md[0-9]*", NAME="md/%n", |
|||
KERNEL=="loop[0-9]*", NAME="loop/%n" |
|||
KERNEL=="ram[0-9]*", NAME="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*", \ |
|||
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" |
|||
|
|||
# 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" |
|||
|
|||
# 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" |
|||
|
|||
# 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" |
|||
|
|||
# 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" |
|||
|
|||
# printers and parallel devices |
|||
KERNEL=="lp[0-9]*", NAME="printers/%n" |
|||
KERNEL=="parport[0-9]*", NAME="parports/%n" |
|||
|
|||
KERNEL=="i2c-[0-9]*", NAME="i2c/%n" |
|||
KERNEL=="fd[0-9]*", NAME="floppy/%n" |
|||
|
|||
KERNEL=="cdemu[0-9]*", NAME="cdemu/%n" |
|||
KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n" |
|||
KERNEL=="pktcdvd", NAME="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=="umad*", NAME="infiniband/%k" |
|||
KERNEL=="issm*", NAME="infiniband/%k" |
|||
KERNEL=="uverbs*", NAME="infiniband/%k" |
|||
KERNEL=="ucm*", NAME="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" |
|||
|
|||
# ieee1394 devices |
|||
KERNEL=="dv1394*", NAME="dv1394/%n" |
|||
KERNEL=="video1394*", NAME="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" |
|||
|
|||
# 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" |
|||
|
|||
# AOE character devices |
|||
SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k" |
|||
SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k" |
|||
SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k" |
|||
|
|||
# device mapper creates its own device nodes, so ignore these |
|||
KERNEL=="dm-[0-9]*", NAME="" |
|||
KERNEL=="device-mapper", NAME="mapper/control" |
|||
|
@ -0,0 +1,25 @@ |
|||
--- ./Makefile.orig 2006-03-14 23:08:37.000000000 +0100
|
|||
+++ ./Makefile 2006-03-14 23:09:18.000000000 +0100
|
|||
@@ -294,11 +294,6 @@
|
|||
@extras="$(EXTRAS)"; for target in $$extras; do \ |
|||
$(MAKE) -C $$target $@ || exit 1; \ |
|||
done; |
|||
-ifndef DESTDIR
|
|||
- - killall udevd
|
|||
- - rm -rf /dev/.udev
|
|||
- - $(sbindir)/udevd --daemon
|
|||
-endif
|
|||
.PHONY: install-bin |
|||
|
|||
uninstall-bin: |
|||
@@ -307,10 +302,6 @@
|
|||
- rm -f $(DESTDIR)$(usrsbindir)/udevmonitor |
|||
- rm -f $(DESTDIR)$(usrbindir)/udevinfo |
|||
- rm -f $(DESTDIR)$(usrbindir)/udevtest |
|||
-ifndef DESTDIR
|
|||
- - killall udevd
|
|||
- - rm -rf /dev/.udev
|
|||
-endif
|
|||
@extras="$(EXTRAS)"; for target in $$extras; do \ |
|||
$(MAKE) -C $$target $@ || exit 1; \ |
|||
done; |
@ -1,12 +0,0 @@ |
|||
diff -pruN udev-084-orig/etc/udev/debian/devfs.rules udev-084/etc/udev/debian/devfs.rules
|
|||
--- udev-084-orig/etc/udev/debian/devfs.rules 2006-02-14 16:11:51.000000000 +0100
|
|||
+++ udev-084/etc/udev/debian/devfs.rules 2006-02-14 16:13:23.000000000 +0100
|
|||
@@ -96,7 +96,7 @@ KERNEL=="pktcdvd", NAME="pktcdvd/contro
|
|||
|
|||
KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" |
|||
KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" |
|||
-KERNEL=="microcode", NAME="cpu/microcode"
|
|||
+KERNEL=="microcode", NAME="cpu/microcode", SYMLINK="misc/microcode"
|
|||
|
|||
KERNEL=="umad*", NAME="infiniband/%k" |
|||
KERNEL=="issm*", NAME="infiniband/%k" |
@ -0,0 +1,47 @@ |
|||
#!/bin/bash |
|||
|
|||
# udev external PROGRAM script |
|||
# return devfs-names for ide-devices |
|||
# BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}", GROUP="%c{3}" |
|||
|
|||
HOST="${2%\.[0-9]}" |
|||
TARGET="${2#[0-9]\.}" |
|||
|
|||
if [ -z "${HOST#[13579]}" ]; then |
|||
HOST=$((${HOST} - 1)) |
|||
BUS="1" |
|||
else |
|||
BUS="0" |
|||
fi |
|||
|
|||
get_dev_number() { |
|||
num=0 |
|||
DRIVE="${1%%[0-9]*}" |
|||
|
|||
for x in /proc/ide/*/media; do |
|||
if [ -e "${x}" ]; then |
|||
lMEDIA=`cat ${x}` |
|||
if [ "${lMEDIA}" = "$2" ]; then |
|||
num=$((${num} + 1)) |
|||
fi |
|||
if [ "${x}" = "/proc/ide/${DRIVE}/media" ]; then |
|||
break |
|||
fi |
|||
fi |
|||
done |
|||
|
|||
echo $((${num} - 1)) |
|||
} |
|||
|
|||
if [ -z "$3" ] && [ -f /proc/ide/${1}/media ]; then |
|||
MEDIA=`cat /proc/ide/${1}/media` |
|||
if [ "${MEDIA}" = "cdrom" ]; then |
|||
echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/cd cdroms/cdrom`get_dev_number $1 cdrom` ${MEDIA} |
|||
elif [ "${MEDIA}" = "floppy" ]; then |
|||
echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/disc floppies/floppy`get_dev_number $1 floppy`/disc ${MEDIA} |
|||
elif [ "${MEDIA}" = "disk" ]; then |
|||
echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/disc discs/disc`get_dev_number $1 disk`/disc ${MEDIA} |
|||
fi |
|||
else |
|||
echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/part$3 discs/disc`get_dev_number $1 disk`/part$3 |
|||
fi |
@ -1,4 +1,4 @@ |
|||
#!/bin/sh -e |
|||
#!/bin/bash -e |
|||
# |
|||
# Scans /proc/bus/input/devices for the given device. |
|||
# |
@ -0,0 +1,50 @@ |
|||
#!/bin/bash -e |
|||
# |
|||
# Copyright (c) 2004 Marco d'Itri <md@linux.it> |
|||
# Copyright (c) 2004 Piotr Roszatycki <dexter@debian.org> |
|||
# |
|||
# Usage: |
|||
# KERNEL=="cciss!*", PROGRAM="/lib/udev/raid-devfs.sh %k", NAME="%c{1}", SYMLINK+="%k" |
|||
# KERNEL=="ida!*", PROGRAM="/lib/udev/raid-devfs.sh %k", NAME="%c{1}", SYMLINK+="%k" |
|||
# KERNEL=="rd!*", PROGRAM="/lib/udev/raid-devfs.sh %k", NAME="%c{1}", SYMLINK+="%k" |
|||
|
|||
get_dev_number_cciss() { |
|||
grep '^cciss/' /proc/driver/cciss/* | cat -n | \ |
|||
sed -n "/cciss\/$1:/s/cciss.*//p" |
|||
} |
|||
|
|||
get_dev_number_ida() { |
|||
grep '^ida/' /proc/driver/cpqarray/* | cat -n | \ |
|||
sed -n "/ida\/$1:/s/ida.*//p" |
|||
} |
|||
|
|||
get_dev_number_rd() { |
|||
grep '^ */dev/rd/' /proc/rd/*/initial_status | cat -n | \ |
|||
sed -n "/rd\/$1:/s/\/dev\/rd.*//p" |
|||
} |
|||
|
|||
get_dev_number() { |
|||
dev=$1 |
|||
num=$(eval $(echo get_dev_number_$TYPE $dev)) |
|||
[ "$num" ] || exit 1 |
|||
echo $(($num - 1)) |
|||
} |
|||
|
|||
TYPE=${1%%/*} |
|||
NAME=${1#*/} |
|||
|
|||
# abort if there was no match |
|||
[ "$TYPE" != "$1" ] || exit 1 |
|||
|
|||
case "$NAME" in |
|||
*p*) |
|||
LONG_NAME=disc$(get_dev_number ${NAME%%p*})/part${NAME##*p} |
|||
;; |
|||
*) |
|||
LONG_NAME=disc$(get_dev_number $NAME)/disc |
|||
;; |
|||
esac |
|||
|
|||
echo "$TYPE/$LONG_NAME" |
|||
exit 0 |
|||
|
@ -0,0 +1,100 @@ |
|||
#!/bin/bash |
|||
# |
|||
# scsi-devfs.sh: udev external PROGRAM script |
|||
# |
|||
# Copyright 2004 Richard Gooch <rgooch@atnf.csiro.au> |
|||
# Copyright 2004 Fujitsu Ltd. |
|||
# Distributed under the GNU Copyleft version 2.0. |
|||
# |
|||
# 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}" |
|||
|
|||
# Find out where sysfs is mounted. Exit if not available |
|||
sysfs=`grep -F sysfs /proc/mounts | awk '{print $2}'` |
|||
if [ "$sysfs" = "" ]; then |
|||
echo "sysfs is required" |
|||
exit 1 |
|||
fi |
|||
cd $sysfs/bus/scsi/devices |
|||
|
|||
case "$1" in |
|||
sd) |
|||
# Extract partition component |
|||
if [ "$3" = "" ]; then |
|||
lpart="disc" |
|||
spart="" |
|||
else |
|||
lpart="part$3" |
|||
spart="p$3" |
|||
fi |
|||
;; |
|||
sr) |
|||
lpart="cdrom" |
|||
spart="" |
|||
;; |
|||
st) |
|||
# Not supported yet |
|||
exit 1 |
|||
;; |
|||
sg) |
|||
lpart="generic" |
|||
spart="" |
|||
;; |
|||
*) |
|||
exit 1 |
|||
;; |
|||
esac |
|||
|
|||
# Extract SCSI logical address components |
|||
scsi_host=`echo $2 | cut -f 1 -d:` |
|||
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 |
|||
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}" |
|||
|
|||
readlink $2 | grep -F -q pci |
|||
if [ "$?" != "0" ]; then |
|||
# Not a PCI controller, show logical locations only |
|||
echo $l_log $s_log |
|||
exit 0 |
|||
fi |
|||
|
|||
# Extract PCI address |
|||
tmp=`readlink $2 | sed -e 's@/host.*/.*@@'` |
|||
pci_addr=`basename "$tmp"` |
|||
pci_domain=`echo $pci_addr | cut -f 1 -d:` |
|||
pci_bus=`echo $pci_addr | cut -f 2 -d:` |
|||
pci_slot=`echo $pci_addr | tr . : | cut -f 3 -d:` |
|||
pci_function=`echo $pci_addr | cut -f 2 -d.` |
|||
|
|||
# Generate long and short physical names |
|||
l_pci="domain$pci_domain/bus$pci_bus/slot$pci_slot/function$pci_function" |
|||
l_phy="bus/pci/$l_pci/scsi/$l_com" |
|||
s_phy="$1/pci/$pci_addr/$s_com" |
|||
|
|||
if [ -d /dev/discs ] ; then |
|||
for x in /dev/discs/disc* ; do |
|||
if readlink $x/disc | grep -q "$l_pci" ; then |
|||
x=`echo $x | cut -f3 -dc` # gives the number in disc0 |
|||
break |
|||
fi |
|||
unset x |
|||
done |
|||
fi |
|||
|
|||
if [ -z "${x}" -a -d /dev/discs ] ; then |
|||
x="`ls /dev/discs/ | grep -c .`" |
|||
fi |
|||
|
|||
echo $l_log $s_log discs/disc${x}/${lpart} |
@ -1,39 +0,0 @@ |
|||
# --- ROCK-COPYRIGHT-NOTE-BEGIN --- |
|||
# |
|||
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|||
# Please add additional copyright information _after_ the line containing |
|||
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by |
|||
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! |
|||
# |
|||
# ROCK Linux: rock-src/package/base/udev/scsi_dev_discs.patch |
|||
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf |
|||
# |
|||
# This patch file is dual-licensed. It is available under the license the |
|||
# patched project is licensed under, as long as it is an OpenSource license |
|||
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms |
|||
# of the GNU General Public License as published by the Free Software |
|||
# Foundation; either version 2 of the License, or (at your option) any later |
|||
# version. |
|||
# |
|||
# --- ROCK-COPYRIGHT-NOTE-END --- |
|||
|
|||
--- ./extras/scsi-devfs.sh.orig 2006-01-04 17:02:54.370422160 +0100
|
|||
+++ ./extras/scsi-devfs.sh 2006-01-04 17:04:39.350462768 +0100
|
|||
@@ -83,6 +83,16 @@
|
|||
l_phy="bus/pci/$l_pci/scsi/$l_com" |
|||
s_phy="$1/pci/$pci_addr/$s_com" |
|||
|
|||
-echo $l_phy $s_phy $l_log $s_log
|
|||
+for x in /dev/discs/disc* ; do
|
|||
+ if readlink $x/disc | grep -q "$l_pci" ; then
|
|||
+ x=`echo $x | cut -f3 -dc` # gives the number in disc0
|
|||
+ break
|
|||
+ fi
|
|||
+ unset x
|
|||
+done
|
|||
|
|||
+if [ -z "${x}" ] ; then
|
|||
+ x="`ls /dev/discs/ | grep -c .`"
|
|||
+fi
|
|||
|
|||
+echo $l_log $s_log discs/disc${x}/${lpart}
|
@ -1,21 +0,0 @@ |
|||
--- ./etc/udev/debian/devfs.rules.orig 2006-01-13 00:23:21.195562168 +0100
|
|||
+++ ./etc/udev/debian/devfs.rules 2006-01-13 00:24:18.676823688 +0100
|
|||
@@ -18,12 +18,14 @@
|
|||
ENV{ID_MODEL}=="IOMEGA_ZIP*", NAME="%k", 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}"
|
|||
+BUS=="ide", KERNEL=="hd[a-z]*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", \
|
|||
+ NAME="%c{1}", SYMLINK+="%k %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", KERNEL=="sd*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh sd %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}"
|
|||
+BUS=="scsi", KERNEL=="sr*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh sr %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}"
|
|||
+BUS=="scsi", KERNEL=="st*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh st %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}"
|
|||
+BUS=="scsi", KERNEL=="sg*", PROGRAM="/etc/udev/scripts/scsi-devfs.sh sg %b %n", NAME="%c{1}", SYMLINK="%c{2} %k %c{3}"
|
|||
|
|||
# RAID controllers |
|||
KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="/lib/udev/raid-devfs.sh %k", \ |
@ -1,57 +0,0 @@ |
|||
diff -pruN udev-077/extras/ide-devfs.sh udev-077-patched/extras/ide-devfs.sh
|
|||
--- udev-077/extras/ide-devfs.sh 2005-12-04 03:01:48.000000000 +0100
|
|||
+++ udev-077-patched/extras/ide-devfs.sh 2006-01-16 08:54:51.000000000 +0100
|
|||
@@ -20,7 +20,7 @@ get_dev_number() {
|
|||
|
|||
for x in /proc/ide/*/media; do |
|||
if [ -e "${x}" ]; then |
|||
- lMEDIA=`cat ${x}`
|
|||
+ read lMEDIA < ${x}
|
|||
if [ "${lMEDIA}" = "$2" ]; then |
|||
num=$((${num} + 1)) |
|||
fi |
|||
@@ -34,7 +34,7 @@ get_dev_number() {
|
|||
} |
|||
|
|||
if [ -z "$3" ] && [ -f /proc/ide/${1}/media ]; then |
|||
- MEDIA=`cat /proc/ide/${1}/media`
|
|||
+ read MEDIA < /proc/ide/${1}/media
|
|||
if [ "${MEDIA}" = "cdrom" ]; then |
|||
echo ide/host${HOST}/bus${BUS}/target${TARGET}/lun0/cd cdroms/cdrom`get_dev_number $1 cdrom` ${MEDIA} |
|||
elif [ "${MEDIA}" = "floppy" ]; then |
|||
diff -pruN udev-077/extras/raid-devfs.sh udev-077-patched/extras/raid-devfs.sh
|
|||
--- udev-077/extras/raid-devfs.sh 2005-12-04 03:01:48.000000000 +0100
|
|||
+++ udev-077-patched/extras/raid-devfs.sh 2006-01-16 09:01:47.000000000 +0100
|
|||
@@ -9,17 +9,29 @@
|
|||
# KERNEL=="rd!*", PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", NAME="%c{1}", SYMLINK+="%k" |
|||
|
|||
get_dev_number_cciss() { |
|||
- grep '^cciss/' /proc/driver/cciss/* | cat -n | \
|
|||
+ num=1
|
|||
+ grep '^cciss/' /proc/driver/cciss/* | while read line ; do
|
|||
+ echo "$num\t$line"
|
|||
+ num=$(($num+1))
|
|||
+ done | \
|
|||
sed -n "/cciss\/$1:/s/cciss.*//p" |
|||
} |
|||
|
|||
get_dev_number_ida() { |
|||
- grep '^ida/' /proc/driver/cpqarray/* | cat -n | \
|
|||
+ num=1
|
|||
+ grep '^ida/' /proc/driver/cpqarray/* | while read line ; do
|
|||
+ echo "$num\t$line"
|
|||
+ num=$(($num+1))
|
|||
+ done | \
|
|||
sed -n "/ida\/$1:/s/ida.*//p" |
|||
} |
|||
|
|||
get_dev_number_rd() { |
|||
- grep '^ */dev/rd/' /proc/rd/*/initial_status | cat -n | \
|
|||
+ num=1
|
|||
+ grep '^ */dev/rd/' /proc/rd/*/initial_status | while read line ; do
|
|||
+ echo "$num\t$line"
|
|||
+ num=$(($num+1))
|
|||
+ done | \
|
|||
sed -n "/rd\/$1:/s/\/dev\/rd.*//p" |
|||
} |
|||
|