mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-28 00:24:58 +02:00
clean up hotplug mounting scripts
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4673 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
3f494f8d22
commit
85b201f545
26
package/base-files/default/etc/hotplug.d/block/01-mount
Executable file
26
package/base-files/default/etc/hotplug.d/block/01-mount
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2006 OpenWrt.org
|
||||||
|
|
||||||
|
DEV=${DEVPATH##*/}
|
||||||
|
{
|
||||||
|
echo "ACTION=$ACTION DEVPATH=$DEVPATH $0 $*"
|
||||||
|
case "$ACTION" in
|
||||||
|
add)
|
||||||
|
echo -ne "waiting for $DEV"
|
||||||
|
while [ ! -b /dev/$DEV ]; do {
|
||||||
|
echo -ne "."
|
||||||
|
sleep 1
|
||||||
|
time=$((time+1)); [ $time -gt 10 ] && break
|
||||||
|
}; done
|
||||||
|
|
||||||
|
[ ${DEV%%[0-9]} != ${DEV} ] && {
|
||||||
|
mkdir -p /tmp/$DEV
|
||||||
|
mount /dev/$DEV /tmp/$DEV -t auto -o sync
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
umount /tmp/$DEV
|
||||||
|
rm -rf /dev/$DEV /tmp/$DEV
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
} 2>&1 | logger
|
33
package/base-files/default/etc/hotplug.d/usb/01-ln
Executable file
33
package/base-files/default/etc/hotplug.d/usb/01-ln
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2006 OpenWrt.org
|
||||||
|
|
||||||
|
case "$ACTION" in
|
||||||
|
add)
|
||||||
|
[ -f /sys/${DEVPATH}/idVendor -a "$(cat /sys/${DEVPATH}/idVendor)" -ne "0000" ] && {
|
||||||
|
cd /sys/${DEVPATH}
|
||||||
|
|
||||||
|
NUM=${DEVPATH##*/}
|
||||||
|
HOST=$(find ${NUM}:*/host* -type d)
|
||||||
|
HOST=${HOST##*/host}
|
||||||
|
|
||||||
|
echo -ne "waiting for disk"
|
||||||
|
|
||||||
|
while [ ! -d "/dev/scsi/host${HOST}/bus0/target0/lun0" ]; do {
|
||||||
|
echo -ne "."
|
||||||
|
sleep 1;
|
||||||
|
time=$((time+1)); [ $time -gt 10 ] && break
|
||||||
|
}; done
|
||||||
|
echo
|
||||||
|
|
||||||
|
cd /sys/bus/scsi/devices/${HOST}\:0\:0\:0
|
||||||
|
for BLOCK in block:* ; do {
|
||||||
|
cd ${BLOCK}
|
||||||
|
BLOCK=${BLOCK##block\:}
|
||||||
|
ln -sf /dev/scsi/host${HOST}/bus0/target0/lun0/disc /dev/${BLOCK}
|
||||||
|
for DEV in ${BLOCK}*; do {
|
||||||
|
ln -sf /dev/scsi/host${HOST}/bus0/target0/lun0/part${DEV##$BLOCK} /dev/$DEV
|
||||||
|
}; done
|
||||||
|
}; done
|
||||||
|
} 2>&1 | logger
|
||||||
|
;;
|
||||||
|
esac
|
@ -1,52 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Copyright (C) 2006 OpenWrt.org
|
|
||||||
|
|
||||||
mount_storage() {
|
|
||||||
cd /dev/discs
|
|
||||||
for dev in disc*; do
|
|
||||||
[ -f /tmp/.${dev}_id ] || {
|
|
||||||
echo ${INTERFACE}${PRODUCT} > /tmp/.${dev}_id
|
|
||||||
mount | grep /mnt/${dev} || (
|
|
||||||
[ -d /mnt/. ] || {
|
|
||||||
mkdir -p /tmp/mnt
|
|
||||||
ln -s /tmp/mnt /
|
|
||||||
}
|
|
||||||
cd $dev
|
|
||||||
for part in part*; do
|
|
||||||
path=/mnt/${dev}_${part##*part}
|
|
||||||
mkdir -p ${path}
|
|
||||||
mount ${part} ${path}
|
|
||||||
done
|
|
||||||
)
|
|
||||||
}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
umount_storage() {
|
|
||||||
for tmp in /tmp/.*_id; do
|
|
||||||
id=$(cat $tmp 2>&-)
|
|
||||||
[ "${INTERFACE}${PRODUCT}" = "$id" ] && {
|
|
||||||
rm -f $tmp
|
|
||||||
disc=${tmp##*disc}
|
|
||||||
disc=${disc%%_id}
|
|
||||||
for disc in /mnt/disc${disc}*; do
|
|
||||||
umount -f $disc || umount -l $disc
|
|
||||||
done
|
|
||||||
}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
[ -f /proc/bus/usb/devices ] || mount -t usbfs none /proc/bus/usb
|
|
||||||
|
|
||||||
case "$ACTION" in
|
|
||||||
add)
|
|
||||||
case "${INTERFACE%%/*}" in
|
|
||||||
8) mount_storage ;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
remove)
|
|
||||||
case "${INTERFACE%%/*}" in
|
|
||||||
8) umount_storage ;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
Loading…
Reference in New Issue
Block a user