________________________________
From: Alex Kiernan <alex.kier...@gmail.com>
Sent: Monday, May 16, 2022 9:25 PM
To: Alex Kiernan <alex.kier...@gmail.com>
Cc: Li, Changqing <changqing...@windriver.com>; 
richard.pur...@linuxfoundation.org <richard.pur...@linuxfoundation.org>; 
Patches and discussions about the oe-core layer 
<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] eudev: create static nodes from modules

[Please note: This e-mail is from an EXTERNAL e-mail address]

On Mon, May 16, 2022 at 9:07 AM Alex Kiernan via
lists.openembedded.org <alex.kiernan=gmail....@lists.openembedded.org>
wrote:
>
> Untested, but if its useful (I suspect cut & paste will have broken spaces):
Thanks.  I will test this.
>
> diff --git a/meta/recipes-core/udev/eudev/init
> b/meta/recipes-core/udev/eudev/init
> index c60dbbf6d512..64cd0ea3ef39 100644
> --- a/meta/recipes-core/udev/eudev/init
> +++ b/meta/recipes-core/udev/eudev/init
> @@ -23,6 +23,38 @@ kill_udevd () {
>      [ -n "$pid" ] && kill $pid
>  }
>
> +make_static_nodes () {
> +       kmod static-nodes --format=tmpfiles |
> +       while read TTYPE TPATH TMODE TUSER TGROUP TAGE TARG; do
> +       case "${TTYPE}" in
> +       'd')
> +               test -d "${TPATH}" || mkdir -p -m "${TMODE}" "${TPATH}"
> +               ;;
> +
> +       'c!')
> +               if [ ! -c "${TPATH}" ]; then
> +                       old_ifs="${IFS}"
> +                       IFS=:
> +                       set -- ${TARG}
> +                       IFS="${old_ifs}"
> +                       mknod -m "${TMODE}" "${TPATH}" c "$@"
> +               fi
> +               ;;
> +
> +       *)
> +               echo ERROR
> +               exit 1
> +               ;;
> +       esac
> +       if [ "${TUSER}" != "-" ]; then
> +               chown "${TUSER}" "${TPATH}"
> +       fi
> +       if [ "${TGROUP}" != "-" ]; then
> +               chown "${TGROUP}" "${TPATH}"

chgrp

> +       fi
> +       done
> +}
> +
>  case "$1" in
>    start)
>      export ACTION=add
> @@ -51,6 +83,8 @@ case "$1" in
>      # make_extra_nodes
>      kill_udevd > "/dev/null" 2>&1
>
> +    make_static_nodes
> +
>      # trigger the sorted events
>      [ -e /proc/sys/kernel/hotplug ] && printf '\0\n' 
> >/proc/sys/kernel/hotplug
>      @UDEVD@ -d
>
> On Mon, May 16, 2022 at 6:35 AM Li, Changqing
> <changqing...@windriver.com> wrote:
> >
> >
> >
> > ________________________________
> > From: Alex Kiernan <alex.kier...@gmail.com>
> > Sent: Sunday, May 15, 2022 10:59 PM
> > To: Li, Changqing <changqing...@windriver.com>
> > Cc: richard.pur...@linuxfoundation.org 
> > <richard.pur...@linuxfoundation.org>; Patches and discussions about the 
> > oe-core layer <openembedded-core@lists.openembedded.org>
> > Subject: Re: [OE-core] [PATCH] eudev: create static nodes from modules
> >
> > [Please note: This e-mail is from an EXTERNAL e-mail address]
> >
> > On Fri, May 13, 2022 at 2:42 AM Li, Changqing
> > <changqing...@windriver.com> wrote:
> > >
> > >
> > >
> > > ________________________________
> > > From: richard.pur...@linuxfoundation.org 
> > > <richard.pur...@linuxfoundation.org>
> > > Sent: Thursday, May 12, 2022 6:33 PM
> > > To: Alex Kiernan <alex.kier...@gmail.com>; Li, Changqing 
> > > <changqing...@windriver.com>
> > > Cc: Patches and discussions about the oe-core layer 
> > > <openembedded-core@lists.openembedded.org>
> > > Subject: Re: [OE-core] [PATCH] eudev: create static nodes from modules
> > >
> > > [Please note: This e-mail is from an EXTERNAL e-mail address]
> > >
> > > On Thu, 2022-05-12 at 08:45 +0100, Alex Kiernan wrote:
> > > > On Thu, May 12, 2022 at 6:43 AM Changqing Li 
> > > > <changqing...@windriver.com> wrote:
> > > > >
> > > > > From: Changqing Li <changqing...@windriver.com>
> > > > >
> > > > > dev in modules.devname should be populated in /dev on boot.
> > > > > remove create static mode from udevd will make these devices
> > > > > cannot be populated. When use sysVinit, devices like /dev/net/tun
> > > > > will not be created.
> > > > >
> > > > > more info:
> > > > > udevd in systemd also remove create static mode in udevd, but using
> > > > > service kmod-static-nodes.service and
> > > > > systemd-tmpfiles-setup-dev.service in systemd to create these node, so
> > > > > systemd works well.
> > > > >
> > > > > Signed-off-by: Changqing Li <changqing...@windriver.com>
> > > > > ---
> > > > >  ...dev-create-static-nodes-from-modules.patch | 115 
> > > > > ++++++++++++++++++
> > > > >  meta/recipes-core/udev/eudev_3.2.11.bb        |   1 +
> > > > >  2 files changed, 116 insertions(+)
> > > > >  create mode 100644 
> > > > > meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
> > > > >
> > > > > diff --git 
> > > > > a/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
> > > > >  
> > > > > b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
> > > > > new file mode 100644
> > > > > index 0000000000..19611f4e89
> > > > > --- /dev/null
> > > > > +++ 
> > > > > b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
> > > > > @@ -0,0 +1,115 @@
> > > > > +From 573d6c4106d5b3828da43d2843c1d599ae3cd1cd Mon Sep 17 00:00:00 
> > > > > 2001
> > > > > +From: Changqing Li <changqing...@windriver.com>
> > > > > +Date: Tue, 10 May 2022 14:04:35 +0800
> > > > > +Subject: [PATCH] eudev: create static nodes from modules
> > > > > +
> > > > > +Revert commit <src/udev/udevd.c: remove create static nodes from 
> > > > > modules>
> > > > > +https://gitweb.gentoo.org/proj/eudev.git/commit/?id=2b7abd5ec9cc47a8b895df6db77fb1537c6f1a39
> > > > > +
> > > > > +Upstream-Status: Inappropriate [oe-specific]
> > > > > +
> > > > > +Upstream intentionally remove create static nodes from modules, it is
> > > > > +expected handled by tmpfiles services, refer [1].
> > > > > +[1] https://github.com/eudev-project/eudev/issues/229
> > > > > +
> > > > > +For yocto, when start with sysVinit, to enable systemd distro 
> > > > > feature,
> > > > > +and install systemd-tmpfiles is not proper, so revert this commit.
> > > > > +
> > > >
> > > > Reading the upstream issue, I'm not sure this really is an
> > > > "Inappropriate" upstream. eudev has dropped this commit, because you
> > > > can use systemd-tmpfiles ("as it works without systemd and can be
> > > > compiled individually" - presumably using our unsupported musl
> > > > patches...) or opentmpfiles (which is dead and points you back to
> > > > systemd-tmpfiles).
> > > >
> > > > Feels like this is an engage with upstream rather than carry a patch
> > > > forever which just causes us to be perpetually divergent.
> > >
> > > I agree, this does sound like something we need to address to keep the
> > > project maintainable...
> > >
> > > I tried to suggest upstream to add this back,  but  upstream seems prefer 
> > > to use tmpfile solution.
> > >
> >
> > Given how limited the output format which static-nodes generates for
> > tmpfiles is (just d and c! entries), parsing that output directly as
> > part the eudev init script wouldn't be horrible. Or make kmod generate
> > files in the format that volatiles expects? Though that would need
> > populate-volatile extending to generate device nodes.
> >
> > Thanks, I will dig more about the tmpfile solution, and send a V2 patch.
> >
> > Regards
> > Changqing
> >
> > --
> > Alex Kiernan
>
>
>
> --
> Alex Kiernan
>
> 
>


--
Alex Kiernan
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#165701): 
https://lists.openembedded.org/g/openembedded-core/message/165701
Mute This Topic: https://lists.openembedded.org/mt/91052396/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to