usb-storage: allow mounting more than a single device, use /etc/fstab when appropriat...
[openwrt/svn-archive/openwrt.git] / package / base-files / files / sbin / usb-storage
1 #!/bin/sh
2 # Copyright (C) 2007-2009 OpenWrt.org
3 logger "usb device is mass storage"
4 i=0
5 while [ $i -le 10 ]; do
6 logger "waiting on usb drive $i ..."
7 i=$(($i+1))
8 cd /sys${DEVPATH}
9 for blk in `find host* -type d 2>/dev/null`; do
10 [ -d /sys/${DEVPATH}/${blk}/block/ ] && {
11 cd
12 for disc in `find /sys/${DEVPATH}/${blk}/block -name "sd*"`; do
13 sleep 2
14 cd $disc
15 for node in `find . -name "sd*" | cut -d "/" -f2`; do
16 dev="/dev/${node}"
17 if [ -e /etc/fstab ] && grep -q "^${dev}" /etc/fstab; then
18 dir=`cat /etc/fstab | grep "^${dev}" | awk '{ print $2; }'`
19 else
20 dir="/mnt/${node}"
21 fi
22 logger "mounting ${dev} on ${dir}"
23 mkdir -p ${dir}
24 mount ${dev} ${dir}
25 ln -nsf ${dir} /mnt/usbdrive
26 i=20
27 done
28 done
29 }
30 done
31 sleep 1
32 done