From 29be8e79a200d33555d2887578975e33b8417795 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Tue, 17 Sep 2013 10:48:00 +0300 Subject: connman: Try to figure out NFS root interface if using DHCP The commit c73487302270a7c2d3bbbb191ce1dd63ee2016dc missed the case where the NFS is using DHCP. [YOCTO #5176] Signed-off-by: Jukka Rissanen Signed-off-by: Richard Purdie --- meta/recipes-connectivity/connman/connman/connman | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'meta/recipes-connectivity') diff --git a/meta/recipes-connectivity/connman/connman/connman b/meta/recipes-connectivity/connman/connman/connman index 2625adeead..bf7a94a06d 100644 --- a/meta/recipes-connectivity/connman/connman/connman +++ b/meta/recipes-connectivity/connman/connman/connman @@ -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 -- cgit 1.2.3-korg