[OE-core] [PATCH] connman: Ignore the NFS root network interface in init script
Yi Zhao
yi.zhao at windriver.com
Mon Sep 9 06:11:42 UTC 2013
This patch can not work on routerstationpro.
After apply this patch, the system can not boot up.
Here is the boot log (I print some variables):
...
Configuring network interfaces... ifup skipped for nfsroot interface eth0
run-parts: /etc/network/if-pre-up.d/nfsroot exited with code 1
Starting rpcbind daemon...done.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Thu Sep 5 22:45:00 UTC 2013
hwclock: can't open '/dev/misc/rtc': No such file or directory
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting Connection Manager
NET_DEVS = lo
eth1
sit0
eth0
NET_ADDR = 128.224.165.207:128.224.165.20:128.224.165.1:255.255.255.0::eth0
ADDR = 127.0.0.1
ADDR =
ADDR =
ADDR = 128.224.165.207
eth0: link down
nfs: server 128.224.165.20 not responding, still trying
The system can not boot up since eth0 down.
# cat /proc/cmdline
console=ttyS0,115200 root=/dev/nfs rw
nfsroot=128.224.165.20:/export/pxeboot/vlm-boards/19256/rootfs
ip=128.224.165.207:128.224.165.20:128.224.165.1:255.255.255.0::eth0:off
board=UBNT-RSPRO ethaddr=00.00.00.33.46.63
于 2013年09月06日 15:23, Jukka Rissanen 写道:
> The connman init.d script tried to ignore all the network interfaces
> if NFS root is configured. We should only ignore the interface
> that is used by NFS root.
>
> [YOCTO #4587]
>
> Signed-off-by: Jukka Rissanen <jukka.rissanen at linux.intel.com>
> ---
> meta/recipes-connectivity/connman/connman/connman | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-connectivity/connman/connman/connman b/meta/recipes-connectivity/connman/connman/connman
> index 67ba7c8..2625ade 100644
> --- a/meta/recipes-connectivity/connman/connman/connman
> +++ b/meta/recipes-connectivity/connman/connman/connman
> @@ -29,8 +29,18 @@ done
> do_start() {
> EXTRA_PARAM=""
> if test $nfsroot -eq 1 ; then
> - ethn=`ifconfig | grep eth | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
> - EXTRA_PARAM="-I $ethn"
> + 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'`
> +
> + 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
> + fi
> + done
> + fi
> fi
> if [ -f @LIBDIR@/connman/wired-setup ] ; then
> . @LIBDIR@/connman/wired-setup
More information about the Openembedded-core
mailing list