NFS mount not working
Posted: Fri Mar 18, 2016 7:44 pm
I have set up a NFS share on my NAS (192.168.0.120) that i can see from my TV(192.168.0.226):
My init script in /mnt/etc/init.d looks like this:
Permissions on the file are as they should be (0777).
But the nfs share is not mounted. The NAS also shows no active sessions on this NFS share.
What is wrong?
Code: Select all
/mnt # showmount -e 192.168.0.120
Export list for 192.168.0.120:
/i-data/bbb83a31/nfs *
/i-data/bbb83a31/nfs/Recordings 192.168.0.226
Code: Select all
#!/mnt/bin/busybox sh
#
# ? Copyright 1996-2010, ZsoltTech.Com
# by Ser Lev Arris <arris@ZsoltTech.Com>
#
# donated for the SamyGo Project
# http://samygo.sourceforge.net/
#
# Version: SamyGO svn $Id: 03_03_nfsmount.init 1069 2011-01-03 16:47:24Z arris69 $ mount mod by solevi (levi on SamyGO)
. /dtv/SGO.env
sleep 9
##### YOU CAN CHANGE ME HERE ######
SERVER="192.168.0.120"
# SERVER="10.0.0.1" # if you want a fixed server
SHARES="/i-data/bbb83a31/nfs/Recordings"
# SHARES="Video Music Photo" # if you won't all your shares, but then set SERVER too!!
##### CHANGE ME END ######
FR_NAME="NFS Server"
# M_OPTS="soft,udp,async,nolock,rsize=32768,wsize=8192"
M_OPTS="rw,soft,udp,nolock,rsize=32768,wsize=32768"
# M_OPTS="soft,tcp,nolock,rsize=32768,wsize=32768"
# M_OPTS="soft,tcp,nolock,rsize=8192,wsize=8192"
#M_OPTS="soft,tcp,nolock"
SERVERS="Don't set me!!"
DEST_DIR=$MOUNT_PATH/nfs
do_mount()
{
# $(echo -e "[sdg]\nVendor : NfsMount\nProduct : $FR_NAME\n\
#Serial : Q80VQLFG\nDevpath : 7\nLun : 0\nMountDir : $DEST_DIR\nFileSystem : vfat\n" >> /dtv/usb/log)
for i in $S_MOUNTS ; do
#M_POINT="$DEST_DIR/$1/$(echo -n $i | sed -e "s/\//_/g")" #disabled by levi
M_POINT="$DEST_DIR/$1/$(basename $i)" #enabled by levi
mkdir -p "$M_POINT"
if [ `cat /proc/mounts | grep -c "$M_POINT"` -lt "1" ] ; then
$SYSROOT/bin/busybox mount -o "$M_OPTS" "$1:$i" "$M_POINT"
else
echo "$M_POINT is mounted!"
fi
done
}
get_shares()
{
if [ -z "$SHARES" ] ; then
echo -n "Search Shares on: "
for i in $SERVERS ; do
echo $i
# S_MOUNTS=$(showmount --no-headers -e $i | cut -d " " -f1)
S_MOUNTS=$(showmount --no-headers -e $i | sed 's/^\(.*\) .*/\1/')
[ -n "$S_MOUNTS" ] && do_mount $i
done
else
echo -n "Fixed Server: "
for i in $SERVERS ; do
echo $i
S_MOUNTS=$SHARES
[ -n "$S_MOUNTS" ] && do_mount $i
done
fi
}
get_servers()
{
if [ -z "$SERVER" ] ; then
# SERVERS=$(cat /proc/net/arp | grep -v "IP address" | cut -d " " -f1)
SERVERS=$(cat /proc/net/arp | grep -v "IP address" | sed 's/^\(\w*.\w*.\w*.\w*\) *.*/\1/')
else
SERVERS=$SERVER
fi
}
case $1 in
start)
# for systems with modular nfs kernel support
insmod $MOD_DIR/kernel/net/sunrpc/sunrpc.ko || echo "sunrpc.ko. T-FXP model or wrong/missing modules?"
insmod $MOD_DIR/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko || echo "auth_rpcgss.ko. T-FXP model or wrong/missing modules?"
insmod $MOD_DIR/kernel/fs/lockd/lockd.ko || echo "lockd.ko. T-FXP model or wrong/missing modules?"
#insmod $MOD_DIR/kernel/fs/nfs_common/nfs_acl.ko #actually server part is not needed for TV
insmod $MOD_DIR/kernel/fs/nfs/nfs.ko || echo "nfs.ko. T-FXP model or wrong/missing modules?"
sleep 3
get_servers
get_shares
;;
stop)
# may can fail if device access the mount from content library
# for i in $(cat /proc/mounts | grep nfs | cut -d " " -f2) ; do
for i in $(cat /proc/mounts | grep "$DEST_DIR" | sed 's/^\(.*\) \(.*\) nfs .*/\2/') ; do
$SYSROOT/bin/busybox umount $i
done
;;
status)
$SYSROOT/bin/busybox mount | grep "$DEST_DIR"
;;
*)
echo "Usage: $0 {start|stop|status}" 1>&2
exit 0
;;
esac
But the nfs share is not mounted. The NAS also shows no active sessions on this NFS share.
What is wrong?