diff options
Diffstat (limited to 'meta/recipes-core/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch')
-rw-r--r-- | meta/recipes-core/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-core/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch b/meta/recipes-core/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch new file mode 100644 index 0000000000..89eeb425ad --- /dev/null +++ b/meta/recipes-core/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch @@ -0,0 +1,54 @@ +# copy commit message from OE as the patch comment: +# commit ec4da6df3ad5b8b03446d0dda9c50a2439ae325a +# Author: Denys Dmytriyenko <denis@denix.org> +# 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 <kevin.tian@intel.com>, 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 + |