Openembedded Core Discussions
 help / color / mirror / Atom feed
* removing /etc/init.d/busybox-udhcpc
@ 2012-07-26  2:40 Jesse Zhang
  2012-07-26  8:24 ` Jack Mitchell
  2012-07-27  9:03 ` [PATCH] busybox: udhcpc shouldn't be a service Jesse Zhang
  0 siblings, 2 replies; 4+ messages in thread
From: Jesse Zhang @ 2012-07-26  2:40 UTC (permalink / raw)
  To: openembedded-core, Mark Hatle

Hi,

I recently found that if "ip=dhcp" is specified in the kernel cmdline,
there would be some strange behaviour of udhcpc.

1. udhcpc is started two times during bootup.

    Starting Bootlog daemon: bootlogd.
    Configuring network interfaces... udhcpc (v1.19.4) started
    Sending discover...
    Sending select for 128.224.162.132...
    Lease of 128.224.162.132 obtained, lease time 172800
    /etc/udhcpc.d/50default: Adding DNS 128.224.160.11
    /etc/udhcpc.d/50default: Adding DNS 147.11.100.30
    /etc/udhcpc.d/50default: Adding DNS 147.11.1.11
    done.
    Starting portmap daemon...
    [...]
    Starting domain name service: named.
    udhcpc (v1.19.4) started
    Sending discover...
    Sending select for 128.224.162.132...
    Lease of 128.224.162.132 obtained, lease time 172800
    RTNETLINK answers: File exists
    /etc/udhcpc.d/50default: Adding DNS 128.224.160.11
    /etc/udhcpc.d/50default: Adding DNS 147.11.100.30
    /etc/udhcpc.d/50default: Adding DNS 147.11.1.11
    creating NFS state directory: done

2. udhcpc is *started* when system is being shutdown.

    Stopping domain name service: namedrndc: neither /etc/bind/rndc.conf nor /etc/bind/rndc.key wd
    .
    udhcpc (v1.19.4) started
    Sending discover...
    Sending select for 128.224.162.132...
    Lease of 128.224.162.132 obtained, lease time 172800
    RTNETLINK answers: File exists
    /etc/udhcpc.d/50default: Adding DNS 128.224.160.11
    /etc/udhcpc.d/50default: Adding DNS 147.11.100.30
    /etc/udhcpc.d/50default: Adding DNS 147.11.1.11
    Stopping system message bus: dbus.
    stopping statd: done

The reason is busybox installs a busybox-udhcpc init script, which would
start udhcpc when "ip=dhcp" is specified, but udhcpc is also invoked by
the networking service (as specified through /etc/network/interfaces).
That's why udhcpc is started twice.

And since the init script doesn't actually support "stop" actions, it
will start udhcpc again during system shutdown.

The obvious fix is to remove the busybox-udhcpc init script; all configs
should go through /etc/network/interfaces. But I'm wondering if anyone
has problems with that.

If no one objects, I will send the patch shortly.

jesse

P.S. it only happens for non-qemu targets since they have different
configs. I used an intel emenlow.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: removing /etc/init.d/busybox-udhcpc
  2012-07-26  2:40 removing /etc/init.d/busybox-udhcpc Jesse Zhang
@ 2012-07-26  8:24 ` Jack Mitchell
  2012-07-27  9:03 ` [PATCH] busybox: udhcpc shouldn't be a service Jesse Zhang
  1 sibling, 0 replies; 4+ messages in thread
From: Jack Mitchell @ 2012-07-26  8:24 UTC (permalink / raw)
  To: openembedded-core

On 26/07/12 03:40, Jesse Zhang wrote:
> Hi,
>
> I recently found that if "ip=dhcp" is specified in the kernel cmdline,
> there would be some strange behaviour of udhcpc.
>
> 1. udhcpc is started two times during bootup.
>
> snip...

I've also seen this happen on the beaglebone with meta-ti and poky under 
core-image-minimal configuration.

>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] busybox: udhcpc shouldn't be a service
  2012-07-26  2:40 removing /etc/init.d/busybox-udhcpc Jesse Zhang
  2012-07-26  8:24 ` Jack Mitchell
@ 2012-07-27  9:03 ` Jesse Zhang
  2012-07-27  9:03   ` Jesse Zhang
  1 sibling, 1 reply; 4+ messages in thread
From: Jesse Zhang @ 2012-07-27  9:03 UTC (permalink / raw)
  To: openembedded-core

Fixed Bug 2840 - busybox: udhcpc misbehavior when "ip=dhcp".

Jesse Zhang (1):
  busybox: udhcpc shouldn't be a service

 meta/recipes-core/busybox/busybox.inc          |    6 +---
 meta/recipes-core/busybox/busybox_1.19.4.bb    |    3 +-
 meta/recipes-core/busybox/files/busybox-udhcpc |   25 ------------------------
 3 files changed, 3 insertions(+), 31 deletions(-)
 delete mode 100755 meta/recipes-core/busybox/files/busybox-udhcpc

-- 
1.7.7




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] busybox: udhcpc shouldn't be a service
  2012-07-27  9:03 ` [PATCH] busybox: udhcpc shouldn't be a service Jesse Zhang
@ 2012-07-27  9:03   ` Jesse Zhang
  0 siblings, 0 replies; 4+ messages in thread
From: Jesse Zhang @ 2012-07-27  9:03 UTC (permalink / raw)
  To: openembedded-core

udhcpc is invoked from the networking service, so it shouldn't exist
standalone. If /etc/init.d/busybox-udhcpc is present, it will cause
udhcpc to be started two times.

And since the script doesn't support the stop action, it will cause
udhcpc to be started even when system is being shutdown.

Remove /etc/init.d/busybox-udhcpc to resolve the issues.

[YOCTO #2840]

Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
---
 meta/recipes-core/busybox/busybox.inc          |    6 +---
 meta/recipes-core/busybox/busybox_1.19.4.bb    |    3 +-
 meta/recipes-core/busybox/files/busybox-udhcpc |   25 ------------------------
 3 files changed, 3 insertions(+), 31 deletions(-)
 delete mode 100755 meta/recipes-core/busybox/files/busybox-udhcpc

diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index b2fbd52..0a4c067 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -20,16 +20,15 @@ FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
 FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf*"
 FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf"
 FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
-FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc ${sysconfdir}/init.d/busybox-udhcpc"
+FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
 
-INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-udhcpc ${PN}-mdev"
+INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev"
 
 INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
 INITSCRIPT_NAME_${PN}-syslog = "syslog"
 INITSCRIPT_NAME_${PN}-mdev = "mdev"
 INITSCRIPT_PARAMS_${PN}-mdev = "start 06 S ."
 INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd" 
-INITSCRIPT_NAME_${PN}-udhcpc = "busybox-udhcpc" 
 CONFFILES_${PN}-syslog = "${sysconfdir}/syslog-startup.conf.${BPN}"
 CONFFILES_${PN}-mdev = "${sysconfdir}/mdev.conf"
 
@@ -186,7 +185,6 @@ do_install () {
 		install -d ${D}${datadir}/udhcpc
                 install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default
 		install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
-		install -m 0755 ${WORKDIR}/busybox-udhcpc ${D}${sysconfdir}/init.d/
 	fi
 	if grep "CONFIG_INETD=y" ${WORKDIR}/defconfig; then
 		install -m 0755 ${WORKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN}
diff --git a/meta/recipes-core/busybox/busybox_1.19.4.bb b/meta/recipes-core/busybox/busybox_1.19.4.bb
index 6e69d22..4614cb6 100644
--- a/meta/recipes-core/busybox/busybox_1.19.4.bb
+++ b/meta/recipes-core/busybox/busybox_1.19.4.bb
@@ -1,5 +1,5 @@
 require busybox.inc
-PR = "r10"
+PR = "r11"
 
 SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://B921600.patch \
@@ -14,7 +14,6 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://busybox-cron \
            file://busybox-httpd \
            file://busybox-udhcpd \
-           file://busybox-udhcpc \
            file://default.script \
            file://simple.script \
            file://hwclock.sh \
diff --git a/meta/recipes-core/busybox/files/busybox-udhcpc b/meta/recipes-core/busybox/files/busybox-udhcpc
deleted file mode 100755
index 2c43f8d..0000000
--- a/meta/recipes-core/busybox/files/busybox-udhcpc
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# (c) 2010-2011 Wind River Systems, Inc.
-#
-# Busybox udhcpc init script
-#
-# script to start the udpchc DHCP client on boots where
-# the parameter 'ip=dhcp' was included in the kernel parameters
-
-# ensure the required binaries are present
-[ -x /sbin/udhcpc ] || exit 1
-[ -x /bin/grep ] || exit 1
-[ -x /bin/mount ] || exit 1
-
-# ensure /proc is mounted
-if ! mount | grep -q "/proc "; then
-	exit 2
-fi
-
-rc=0
-if grep -q -E "\bip=dhcp\b" /proc/cmdline; then
-	/sbin/udhcpc -D -s /usr/share/udhcpc/default.script
-	rc=$?
-fi
-exit $rc
-- 
1.7.7




^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-07-27  9:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-26  2:40 removing /etc/init.d/busybox-udhcpc Jesse Zhang
2012-07-26  8:24 ` Jack Mitchell
2012-07-27  9:03 ` [PATCH] busybox: udhcpc shouldn't be a service Jesse Zhang
2012-07-27  9:03   ` Jesse Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox