Use block events for the mounting/unmounting of external storage devices. This handles both USB and IEEE1394 devices. It removes /sbin/usb-storage in favor of using the block hotplug event. There are dummy scripts to handle the plug in/out of USB and IEEE1394 devices for updating LEDs. Storage devices are mount as a sub-directory under /mnt.
SVN-Revision: 14289
This commit is contained in:
parent
7cb6d9f6a1
commit
58b8cdb5fd
6 changed files with 46 additions and 39 deletions
19
package/base-files/files/etc/hotplug.d/block/10-mount
Normal file
19
package/base-files/files/etc/hotplug.d/block/10-mount
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (C) 2009 OpenWrt.org
|
||||||
|
|
||||||
|
blkdev=`dirname $DEVPATH`
|
||||||
|
if [ `basename $blkdev` != "block" ]; then
|
||||||
|
|
||||||
|
device=`basename $DEVPATH`
|
||||||
|
case "$ACTION" in
|
||||||
|
add)
|
||||||
|
mkdir -p /mnt/$device
|
||||||
|
mount /dev/$device /mnt/$device
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
umount /dev/$device
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
fi
|
13
package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394
Normal file
13
package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (C) 2009 OpenWrt.org
|
||||||
|
|
||||||
|
case "$ACTION" in
|
||||||
|
add)
|
||||||
|
# update LEDs
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
# update LEDs
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
13
package/base-files/files/etc/hotplug.d/usb/10-usb
Normal file
13
package/base-files/files/etc/hotplug.d/usb/10-usb
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (C) 2009 OpenWrt.org
|
||||||
|
|
||||||
|
case "$ACTION" in
|
||||||
|
add)
|
||||||
|
# update LEDs
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
# update LEDs
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Copyright (C) 2006 OpenWrt.org
|
|
||||||
|
|
||||||
case "$ACTION" in
|
|
||||||
add)
|
|
||||||
[ -n "${INTERFACE}" ] &&
|
|
||||||
[ "$(expr substr ${INTERFACE} 1 2)" == "8/" ] && {
|
|
||||||
/sbin/usb-storage &
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# Copyright (C) 2007 OpenWrt.org
|
|
||||||
logger "usb device is mass storage"
|
|
||||||
i=0
|
|
||||||
while [ $i -le 10 ]; do
|
|
||||||
logger "waiting on usb drive $i ..."
|
|
||||||
i=$(($i+1))
|
|
||||||
cd /sys${DEVPATH}
|
|
||||||
for blk in `find host* -type d 2>/dev/null`; do
|
|
||||||
[ -d /sys/${DEVPATH}/${blk}/block/ ] && {
|
|
||||||
cd
|
|
||||||
for disc in `find /sys/${DEVPATH}/${blk}/block -name "sd*"`; do
|
|
||||||
sleep 2
|
|
||||||
cd $disc
|
|
||||||
for node in `find . -name "sd*" | cut -d "/" -f2`; do
|
|
||||||
echo "mounting /dev/${node} on /mnt/usbdrive"
|
|
||||||
mkdir -p /mnt/usbdrive
|
|
||||||
mount /dev/${node} /mnt/usbdrive
|
|
||||||
i=20
|
|
||||||
done
|
|
||||||
done
|
|
||||||
}
|
|
||||||
done
|
|
||||||
sleep 1
|
|
||||||
done
|
|
|
@ -1,6 +1,6 @@
|
||||||
$include /etc/hotplug2-common.rules
|
$include /etc/hotplug2-common.rules
|
||||||
|
|
||||||
SUBSYSTEM ~~ (net|button|usb|platform) {
|
SUBSYSTEM ~~ (net|button|usb|platform|ieee1394|block) {
|
||||||
exec /sbin/hotplug-call %SUBSYSTEM%;
|
exec /sbin/hotplug-call %SUBSYSTEM%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue