xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/nfsroot (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#! /bin/sh
2
3# In case the interface is used as nfsroot, avoid ifup, otherwise
4# nfsroot may lose response
5
6nfsroot=0
7
8if test "x$IFACE" = xlo ; then
9	exit 0
10fi
11
12exec 9<&0 < /proc/mounts
13while read dev mtpt fstype rest; do
14    if test $mtpt = "/" ; then
15        case $fstype in
16            nfs | nfs4)
17                nfsroot=1
18                nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'`
19                break
20                ;;
21            *)
22                ;;
23        esac
24    fi
25done
26exec 0<&9 9<&-
27
28test $nfsroot -eq 0 && exit 0
29
30if [ -x /bin/ip -o -x /sbin/ip ] ; then
31    nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'`
32fi
33
34if test "x$IFACE" = "x$nfs_iface" ; then
35    echo "ifup skipped for nfsroot interface $nfs_iface"
36    exit 1
37fi
38
39exit 0
40