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): > > 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 (#165683): https://lists.openembedded.org/g/openembedded-core/message/165683 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] -=-=-=-=-=-=-=-=-=-=-=-