Upstream-Status: Pending # copy commit message from OE as the patch comment: # commit ec4da6df3ad5b8b03446d0dda9c50a2439ae325a # Author: Denys Dmytriyenko # Date: Wed Feb 4 11:43:18 2009 -0500 # # busybox: fix nfsroot issues with resetting IP and deleting routes # # above comment added by Kevin Tian , 2010-07-06 Index: busybox-1.15.3/examples/udhcp/simple.script =================================================================== --- busybox-1.15.3.orig/examples/udhcp/simple.script 2010-06-27 12:17:14.116876946 +0200 +++ busybox-1.15.3/examples/udhcp/simple.script 2010-06-27 12:18:38.607868533 +0200 @@ -10,10 +10,17 @@ BROADCAST="broadcast +" [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +# return 0 if root is mounted on a network filesystem +root_is_nfs() { + grep -qe '^/dev/root.*\(nfs\|smbfs\|ncp\|coda\) .*' /proc/mounts +} + case "$1" in deconfig) + if ! root_is_nfs ; then echo "Setting IP address 0.0.0.0 on $interface" - ifconfig $interface 0.0.0.0 + ifconfig $interface 0.0.0.0 + fi ;; renew|bound) @@ -21,15 +28,17 @@ ifconfig $interface $ip $NETMASK $BROADCAST if [ -n "$router" ] ; then - echo "Deleting routers" - while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do - : - done + if ! root_is_nfs ; then + echo "Deleting routers" + while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do + : + done + fi metric=0 for i in $router ; do echo "Adding router $i" - route add default gw $i dev $interface metric $((metric++)) + route add default gw $i dev $interface metric $((metric++)) 2>/dev/null done fi