mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

Check the status before start it to avoid duplicates. (From OE-Core rev: ca3ef7d1ef9b1f0dc4d3170b1ad20d5f725872a1) Signed-off-by: Yue Tao <Yue.Tao@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Jeff Polk <jeff.polk@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
92 lines
1.6 KiB
Bash
Executable File
92 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: mountnfs
|
|
# Required-Start: $local_fs $network $rpcbind
|
|
# Required-Stop:
|
|
# Default-Start: S
|
|
# Default-Stop:
|
|
### END INIT INFO
|
|
|
|
#
|
|
# Run in a subshell because of I/O redirection.
|
|
#
|
|
test -f /etc/fstab && (
|
|
|
|
#
|
|
# Read through fstab line by line. If it is NFS, set the flag
|
|
# for mounting NFS filesystems. If any NFS partition is found and it
|
|
# not mounted with the nolock option, we start the rpcbind.
|
|
#
|
|
rpcbind=no
|
|
mount_nfs=no
|
|
mount_smb=no
|
|
mount_ncp=no
|
|
mount_cifs=no
|
|
while read device mountpt fstype options
|
|
do
|
|
case "$device" in
|
|
""|\#*)
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
case "$options" in
|
|
*noauto*)
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
if test "$fstype" = nfs
|
|
then
|
|
mount_nfs=yes
|
|
case "$options" in
|
|
*nolock*)
|
|
;;
|
|
*)
|
|
rpcbind=yes
|
|
;;
|
|
esac
|
|
fi
|
|
if test "$fstype" = smbfs
|
|
then
|
|
mount_smb=yes
|
|
fi
|
|
if test "$fstype" = ncpfs
|
|
then
|
|
mount_ncp=yes
|
|
fi
|
|
if test "$fstype" = cifs
|
|
then
|
|
mount_cifs=yes
|
|
fi
|
|
done
|
|
|
|
exec 0>&1
|
|
|
|
if test "$rpcbind" = yes
|
|
then
|
|
if test -x /usr/sbin/rpcbind
|
|
then
|
|
service rpcbind status > /dev/null
|
|
if [ $? != 0 ]; then
|
|
echo -n "Starting rpcbind..."
|
|
start-stop-daemon --start --quiet --exec /usr/sbin/rpcbind
|
|
sleep 2
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "$mount_nfs" = yes || test "$mount_smb" = yes || test "$mount_ncp" = yes || test "$mount_cifs" = yes
|
|
then
|
|
echo "Mounting remote filesystems..."
|
|
test "$mount_nfs" = yes && mount -a -t nfs
|
|
test "$mount_smb" = yes && mount -a -t smbfs
|
|
test "$mount_ncp" = yes && mount -a -t ncpfs
|
|
test "$mount_cifs" = yes && mount -a -t cifs
|
|
fi
|
|
|
|
) < /etc/fstab
|
|
|
|
: exit 0
|
|
|