]> code.ossystems Code Review - openembedded-core.git/commitdiff
connman: Try to figure out NFS root interface if using DHCP
authorJukka Rissanen <jukka.rissanen@linux.intel.com>
Tue, 17 Sep 2013 07:48:00 +0000 (10:48 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 17 Sep 2013 13:13:27 +0000 (14:13 +0100)
The commit c73487302270a7c2d3bbbb191ce1dd63ee2016dc missed the case
where the NFS is using DHCP.

[YOCTO #5176]

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-connectivity/connman/connman/connman

index 2625adeead8647a7333aee0c807b5b9384421803..bf7a94a06dfe3eb8f55103890b0196bb6ac4ed00 100644 (file)
@@ -30,16 +30,23 @@ do_start() {
        EXTRA_PARAM=""
        if test $nfsroot -eq 1 ; then
            NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'`
-           NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ ]*\):.*$/\1/p'`
+           NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'`
 
-           if [ x$NET_ADDR != x ]; then
-               for i in $NET_DEVS; do
-                   ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`
-                   if [ "$NET_ADDR" = "$ADDR" ]; then
-                       EXTRA_PARAM="-I $i"
-                       break
+           if [ ! -z "$NET_ADDR" ]; then
+               if [ "$NET_ADDR" = dhcp ]; then
+                   ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
+                   if [ ! -z "$ethn" ]; then
+                       EXTRA_PARAM="-I $ethn"
                    fi
-               done
+               else
+                   for i in $NET_DEVS; do
+                       ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`
+                       if [ "$NET_ADDR" = "$ADDR" ]; then
+                           EXTRA_PARAM="-I $i"
+                           break
+                       fi
+                   done
+               fi
            fi
        fi
        if [ -f @LIBDIR@/connman/wired-setup ] ; then