mirror of
https://git.yoctoproject.org/poky
synced 2026-07-17 04:07:06 +00:00
ea0e29150e
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>
40 lines
809 B
Bash
40 lines
809 B
Bash
#! /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
|