On Wed, Oct 12, 2016 at 12:30 PM, Andreas Oberritter <o...@opendreambox.org> wrote:
> Hi Jagadeesh, > > On 11.10.2016 14:11, Jagadeesh Krishnanjanappa wrote: > > Hi Andreas, > > > > Thanks for reviewing the patch. > > > > > > I think this is too fragile to land in OE-Core. What happens if a > > network driver prints "device=eth0"? Or if other kernel messages make > > the string disappear from dmesg and connman gets restarted later? > > > > > > True. If device=eth0 gets disappeared/corrupted, then we may have > problem. > > > > > > FWIW, I'm attaching my current wrapper script for connmand. I don't > > think it's perfect, but at least it doesn't depend on any init > manager > > and works across restarts. > > > > The wrapper script attached by you, takes care of the missing scenarios. > > Seems to be more complete. > > > > > > > > Add these lines to connman's do_install, in case you'd like to test > > and/or submit it: > > > > mv ${D}${sbindir}/connmand ${D}${sbindir}/connmand.real > > install -m 755 ${WORKDIR}/connmand-nfsroot.in > > <http://connmand-nfsroot.in> ${D}${sbindir}/connmand > > sed -e 's,@sbindir@,${sbindir},g' -i ${D}${sbindir}/connmand > > > > I think it would be good idea to integrate your changes into the already > > existing OE-core's connman script, instead of a calling original connman > > script from the wrapper script. > > please keep in mind that you'd need to implement the same logic for > systemd. > > Considering that the execution of connman on nfsroots without > appropriate parameters immediately hangs the system, a wrapper script > offers an additional level of protection compared to an init script or > systemd unit, especially for people debugging connman. > > The intention of integrating your changes into init script was to avoid an extra file being added to the layer. But yes, to help debugging and to support systemd; wrapper script can be helpful. Thanks, Jagadeesh Regards, > Andreas > > > > > Regards, > > Jagadeesh > > > > > > > > Signed-off-by: Jagadeesh Krishnanjanappa > > <jkrishnanjana...@mvista.com <mailto:jkrishnanjana...@mvista.com>> > > > --- > > > meta/recipes-connectivity/connman/connman/connman | 35 > > +++++++++++++---------- > > > 1 file changed, 20 insertions(+), 15 deletions(-) > > > > > > diff --git a/meta/recipes-connectivity/connman/connman/connman > > b/meta/recipes-connectivity/connman/connman/connman > > > index c64fa0d..aae2ca6 100644 > > > --- a/meta/recipes-connectivity/connman/connman/connman > > > +++ b/meta/recipes-connectivity/connman/connman/connman > > > @@ -29,23 +29,28 @@ done > > > 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'` > > > + ethn_from_dmesg=`dmesg | grep "device="| sed > > "s|\(.*\)device=\(.*\), hwaddr=\(.*\)|\2|g"` > > > + if [ ! -z "$ethn_from_dmesg" ]; then > > > + EXTRA_PARAM="-I $ethn_from_dmesg" > > > + else > > > + 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 [ ! -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 > > > - 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 > > > + 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 > > > fi > > > > > > > > > -- > > _______________________________________________ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > <mailto:Openembedded-core@lists.openembedded.org> > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > <http://lists.openembedded.org/mailman/listinfo/openembedded-core> > > > > > >
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core