Files
Paul Eggleton ea0e29150e netbase: fix check for nfsroot in if-pre-up.d script
The if-pre-up.d/nfsroot script was no longer functioning correctly due to
a change in iproute2's installation of the "ip" executable. The script will
now function correctly regardless of whether ip is in /bin or /sbin.

Fixes [YOCTO #1006].

(From OE-Core rev: fa4f6d1d01a3ce9fbc6f479f65138f1af7369714)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-04 00:54:38 +01:00

809 B

#! /bin/sh

In case the interface is used as nfsroot, avoid ifup, otherwise

nfsroot may lose response

nfsroot=0

if test "x$IFACE" = xlo ; then exit 0 fi

exec 9<&0 < /proc/mounts while read dev mtpt fstype rest; do if test $mtpt = "/" ; then case $fstype in nfs | nfs4) nfsroot=1 nfs_addr=echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/' break ;; *) ;; esac fi done exec 0<&9 9<&-

test $nfsroot -eq 0 && exit 0

if [ -x /bin/ip -o -x /sbin/ip ] ; then nfs_iface=ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/' fi

if test "x$IFACE" = "x$nfs_iface" ; then echo "ifup skipped for nfsroot interface $nfs_iface" exit 1 fi

exit 0