89 lines
2.0 KiB
Bash
89 lines
2.0 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
. /lib/functions.sh
|
|
# Copyright (C) 2011 OpenWrt.org
|
|
|
|
log() {
|
|
logger -t "30-mount" "$@"
|
|
}
|
|
|
|
sanitize() {
|
|
sed -e 's/[[:space:]]\+$//; s/[[:space:]]\+/_/g' "$@"
|
|
}
|
|
|
|
blkdev=`dirname $DEVPATH`
|
|
if [ `basename $blkdev` != "block" ]; then
|
|
device=`basename $DEVPATH`
|
|
if echo $device | grep -q "mtdblock"; then
|
|
exit 0
|
|
fi
|
|
if [ ! -e /usr/lib/sdcard/sdcard.sh ]; then
|
|
/usr/lib/sdcard/sdcard.sh detect
|
|
source /tmp/detect.file
|
|
if [ $detect = "1" ]; then
|
|
if echo $device | grep -q "mmcblk"; then
|
|
exit 0
|
|
fi
|
|
fi
|
|
fi
|
|
if echo $device | grep -q "mmcblk"; then
|
|
device1="SDCard"${device:8:2}
|
|
else
|
|
device1=$device
|
|
fi
|
|
|
|
if [ -e /etc/sda_drop ]; then
|
|
source /etc/sda_drop
|
|
if echo $device | grep -q "$SDA"; then
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
case "$ACTION" in
|
|
add)
|
|
MT=$(cat /proc/mounts | grep "$device")
|
|
if [ -z $MT ]; then
|
|
exit 0
|
|
fi
|
|
DEVN=${DEVNAME:0:3}
|
|
MODEL=$(sanitize "/sys/block/$DEVN/device/model")
|
|
if [ -d /etc/ksmbd ]; then
|
|
uci delete ksmbd.$device1
|
|
uci set ksmbd.$device1=share
|
|
uci set ksmbd.$device1.name=$device1
|
|
uci set ksmbd.$device1.path=/mnt/$device1
|
|
uci set ksmbd.$device1.read_only=no
|
|
uci set ksmbd.$device1.guest_ok=yes
|
|
uci set ksmbd.$device1.create_mask='0666'
|
|
uci set ksmbd.$device1.dir_mask='0777'
|
|
uci commit ksmbd
|
|
/etc/init.d/ksmbd restart
|
|
log "/mnt/$device1 shared as $device1"
|
|
else
|
|
if [ -d /etc/samba ]; then
|
|
uci delete samba.$device1
|
|
uci set samba.$device1=sambashare
|
|
uci set samba.$device1.name=$device1
|
|
uci set samba.$device1.path=/mnt/$device1
|
|
uci set samba.$device1.read_only=no
|
|
uci set samba.$device1.guest_ok=yes
|
|
uci commit samba
|
|
/etc/init.d/samba restart
|
|
log "/mnt/$device1 shared as $device1"
|
|
fi
|
|
fi
|
|
;;
|
|
remove)
|
|
log "remove /mnt/$device1"
|
|
if [ -d /etc/ksmbd ]; then
|
|
uci delete ksmbd.$device1
|
|
uci commit ksmbd
|
|
else
|
|
if [ -d /etc/samba ]; then
|
|
uci delete samba.$device1
|
|
uci commit samba
|
|
fi
|
|
fi
|
|
;;
|
|
esac
|
|
fi
|