freewrt_1_0
freewrt_2_0
| Line | |
|---|
| 1 | mount_storage() {
|
|---|
| 2 | cd /dev/discs
|
|---|
| 3 | for dev in disc*; do
|
|---|
| 4 | [ -f /tmp/.${dev}_id ] || {
|
|---|
| 5 | echo ${INTERFACE}${PRODUCT} > /tmp/.${dev}_id
|
|---|
| 6 | mount | grep /mnt/${dev} || (
|
|---|
| 7 | [ -d /mnt/. ] || {
|
|---|
| 8 | mkdir -p /tmp/mnt
|
|---|
| 9 | ln -s /tmp/mnt /
|
|---|
| 10 | }
|
|---|
| 11 | cd $dev
|
|---|
| 12 | for part in part*; do
|
|---|
| 13 | path=/mnt/${dev}_${part##*part}
|
|---|
| 14 | mkdir -p ${path}
|
|---|
| 15 | mount ${part} ${path}
|
|---|
| 16 | done
|
|---|
| 17 | )
|
|---|
| 18 | }
|
|---|
| 19 | done
|
|---|
| 20 | }
|
|---|
| 21 |
|
|---|
| 22 | umount_storage() {
|
|---|
| 23 | for tmp in /tmp/.*_id; do
|
|---|
| 24 | id=$(cat $tmp 2>&-)
|
|---|
| 25 | [ "${INTERFACE}${PRODUCT}" = "$id" ] && {
|
|---|
| 26 | rm -f $tmp
|
|---|
| 27 | disc=${tmp##*disc}
|
|---|
| 28 | disc=${disc%%_id}
|
|---|
| 29 | for disc in /mnt/disc${disc}*; do
|
|---|
| 30 | umount -f $disc || umount -l $disc
|
|---|
| 31 | done
|
|---|
| 32 | }
|
|---|
| 33 | done
|
|---|
| 34 | }
|
|---|
| 35 |
|
|---|
| 36 | [ -f /proc/bus/usb/devices ] || mount -t usbfs none /proc/bus/usb
|
|---|
| 37 |
|
|---|
| 38 | case "$ACTION" in
|
|---|
| 39 | add)
|
|---|
| 40 | case "${INTERFACE%%/*}" in
|
|---|
| 41 | 8) mount_storage ;;
|
|---|
| 42 | esac
|
|---|
| 43 | ;;
|
|---|
| 44 | remove)
|
|---|
| 45 | case "${INTERFACE%%/*}" in
|
|---|
| 46 | 8) umount_storage ;;
|
|---|
| 47 | esac
|
|---|
| 48 | ;;
|
|---|
| 49 | esac
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.