public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: "Christopher Larson" <kergoth@gmail.com>
To: Khem Raj <raj.khem@gmail.com>, Andre McCurdy <armccurdy@gmail.com>
Cc: OE Core mailing list <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH 3/4] busybox: Run mdev as daemon
Date: Thu, 17 Dec 2020 19:45:56 -0700	[thread overview]
Message-ID: <252c3e1e-16bc-4828-85e5-542bd6d643de@Spark> (raw)
In-Reply-To: <CAJ86T=VVepAL0d4d9AZnDr0auBYZyKOmz-gn3kExpaHkuOgFWg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3826 bytes --]

Afaik, running a daemon in foreground mode and instructing start-stop-daemon to background it is common practice if the daemon doesn’t support writing a pidfile itself, so start-stop-daemon can handle it itself. Without using foregrounded process + -b, it wouldn’t know the resulting process id. If busybox mdev supports a pidfile, this wouldn’t be necessary.

--
Christopher “kergoth” Larson
chris_larson@mentor.com, chris.larson@siemens.com, kergoth@gmail.com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics, a Siemens Business
On Dec 17, 2020, 4:59 PM -0700, Andre McCurdy <armccurdy@gmail.com>, wrote:
> On Thu, Dec 17, 2020 at 2:54 PM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > When busybox is used for device management, kernel needs to support
> > older/obsolete mechanism via CONFIG_UEVENT_HELPER and
> > CONFIG_UEVENT_HELPER_PATH to enable /proc/sys/kernel/hotplug but this
> > would require kernel defconfig change and will always be needed when
> > mdev is used, intead run it in daemon mode
> >
> > Update mdev init script to run mdev in daemon mode
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> > meta/recipes-core/busybox/busybox/mdev.cfg | 2 +
> > meta/recipes-core/busybox/files/mdev | 56 +++++++++++++++-------
> > 2 files changed, 41 insertions(+), 17 deletions(-)
> >
> > diff --git a/meta/recipes-core/busybox/busybox/mdev.cfg b/meta/recipes-core/busybox/busybox/mdev.cfg
> > index 6aefe90e43..143e6097cb 100644
> > --- a/meta/recipes-core/busybox/busybox/mdev.cfg
> > +++ b/meta/recipes-core/busybox/busybox/mdev.cfg
> > @@ -9,3 +9,5 @@ CONFIG_SETSID=y
> > CONFIG_CTTYHACK=y
> >
> > CONFIG_FEATURE_SHADOWPASSWDS=y
> > +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
> > +CONFIG_FEATURE_MDEV_DAEMON=y
> > diff --git a/meta/recipes-core/busybox/files/mdev b/meta/recipes-core/busybox/files/mdev
> > index 8c9c06e96c..2fbdfb073e 100755
> > --- a/meta/recipes-core/busybox/files/mdev
> > +++ b/meta/recipes-core/busybox/files/mdev
> > @@ -1,21 +1,43 @@
> > #!/bin/sh
> > -mount -t proc proc /proc
> > -mount -t sysfs sysfs /sys
> > -mount -t tmpfs tmpfs /dev -o size=64k,mode=0755
> > -mkdir /dev/pts /dev/shm
> > -chmod 777 /dev/shm
> > -mount -t devpts devpts /dev/pts
> > -touch /dev/mdev.seq
> > -#sysctl -w kernel.hotplug=/sbin/mdev
> > -echo "/sbin/mdev" > /proc/sys/kernel/hotplug
> > -mdev -s
> > -
> > #
> > -# We might have mounted something over /dev, see if /dev/initctl is there.
> > +# Run the mdev daemon
> > #
> > -if test ! -p /dev/initctl
> > -then
> > - rm -f /dev/initctl
> > - mknod -m 600 /dev/initctl p
> > -fi
> > +
> > +DAEMON="mdev"
> > +PIDFILE="/var/run/$DAEMON.pid"
> > +
> > +
> > +start() {
> > + echo -n "Starting $DAEMON... "
> > + start-stop-daemon -S -b -m -p $PIDFILE -x /sbin/mdev -- -df
>
> Where do these start-stop-daemon options come from? Using -b for an
> application which is designed to run as a daemon (and deliberately
> telling that app to run in the foreground) looks odd, etc.
>
> Are there bugs or limitations in mdev which you are trying to workaround?
>
> > + [ $? -eq 0 ] && echo "OK" || echo "ERROR"
> > +
> > + # coldplug modules
> > + find /sys/ -name modalias -print0 | \
> > + xargs -0 sort -u | \
> > + tr '\n' '\0' | \
> > + xargs -0 modprobe -abq
> > +}
> > +
> > +stop() {
> > + echo -n "Stopping $DAEMON... "
> > + start-stop-daemon -K -p $PIDFILE
> > + [ $? -eq 0 ] && echo "OK" || echo "ERROR"
> > +}
> > +
> > +restart() {
> > + stop
> > + start
> > +}
> > +
> > +case "$1" in
> > + start|stop|restart)
> > + "$1"
> > + ;;
> > + *)
> > + echo "Usage: $0 {start|stop|restart}"
> > + exit 1
> > +esac
> > +
> > +exit $?
> >
> > --
> > 2.29.2
> >
> >
> >
> >
>
>
> 
>

[-- Attachment #2: Type: text/html, Size: 4757 bytes --]

  reply	other threads:[~2020-12-18  2:46 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-17 22:54 [PATCH 1/4] initscripts: use quotes for shell variable comparision Khem Raj
2020-12-17 22:54 ` [PATCH 2/4] busybox: Install /etc/default/rcS when used as init system Khem Raj
2020-12-17 22:54 ` [PATCH 3/4] busybox: Run mdev as daemon Khem Raj
2020-12-17 23:59   ` [OE-core] " Andre McCurdy
2020-12-18  2:45     ` Christopher Larson [this message]
2020-12-18  3:52     ` Khem Raj
2020-12-18  6:07       ` Andre McCurdy
2020-12-18 16:33         ` Khem Raj
2020-12-17 22:54 ` [PATCH 4/4] initscripts: Use initctl on sysvinit only Khem Raj
2020-12-18 18:29   ` [OE-core] " Sinan Kaya
2020-12-18 18:46     ` Khem Raj
2020-12-18 19:18       ` Sinan Kaya
2020-12-19  1:56         ` Khem Raj
2020-12-18 18:49   ` Peter Kjellerstedt
2020-12-17 23:51 ` [OE-core] [PATCH 1/4] initscripts: use quotes for shell variable comparision Andre McCurdy
2020-12-17 23:53   ` Khem Raj
2020-12-18  0:02     ` Andre McCurdy
2020-12-18  3:53       ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=252c3e1e-16bc-4828-85e5-542bd6d643de@Spark \
    --to=kergoth@gmail.com \
    --cc=armccurdy@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox