All of lore.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.