Nothing special.. bbappend base-passwd and replace the SRC_URI with a custom version of passwd.master and group.master.
--Mark On 10/21/19 12:42 PM, Joshua Watt wrote: > > On 10/21/19 12:23 PM, Mark Hatle wrote: >> >> On 10/21/19 12:03 PM, Joshua Watt wrote: >>> On Sun, Feb 3, 2019 at 9:13 PM Jacob Kroon <[email protected]> wrote: >>>> Although base-passwd in OE is somewhat outdated, upgrading >>>> to a newer version is not going to solve eudev warnings about >>>> missing groups during boot; input/shutdown/kvm are still not >>>> listed in groups.master. The reason for this is that >>>> Debian uses systemd, which will automatically create >>>> missing groups(systemd-sysusers). In a sysvinit+eudev >>>> configuration you instead get a warning printed to >>>> the console: >>> There is an unfortunate problem with this patch that is causing us >>> build failures when using useradd-staticids. Part of this might be our >>> fault for not realizing the repercussions in the way we chose static >>> IDs, but it exposes some deeper issues with this approach to "patching >>> in" new users and groups that we need to be careful about. >>> >>> In our case, the problem is that we added the netdev group to our >>> static group file at ID 47. As such, we get a warning when the netdev >>> group is created: >>> groupadd: GID '47' already exists. >>> >>> For our part, choosing to tightly pack the group IDs and fill in the >>> missing holes with our own static IDs when those static IDs might be >>> allocated by upstream in the future was probably a poor choice. >>> However, the same reasons that make it a poor choice for us also apply >>> to this patch. Upstream doesn't have this GID, and *could* (although >>> unlikely will) add a different group at ID 47, which would conflict >>> with this patch and cause a lot of havoc with anyone using >>> useradd-staticids. >>> >>> Compounding this is the problem that the users and groups in >>> base-passwd don't play nice in general with useradd-staticids. The >>> users and groups provided by base-passwd are always assumed to exists >>> with the fixed IDs assigned by the recipe, and there is no mechanism >>> to override the assigned IDs with a static ID file as can be done with >>> useradd.bbclass (also, adding support doesn't appear to be trivial). >> This was part of the original design of the static ids. >> >> When using static IDs, you should be providing your own base passwd/group >> files >> and optionally the static mapping files as well. > > Ah, I don't think that providing a custom base passwd/group file was > clearly documented. That does make sense and will allow us to work > around the issue. Is there an example of how that is done somewhere? > >> >> This is the purpose of the USERADD_UID_TABLES, you can pass in the >> passwd/group >> files as inputs to these... >> >>> In general, I don't think we should be "patching in" users and groups >>> like this to base-passwd. If upstream doesn't have them, they need to >>> be added through the normal useradd.bbclass mechanism so that users of >>> useradd-staticids can choose what ID they get mapped to. >>> >>> Is it possible to revert this and add the kvm group via the useradd.bbclass? >>> >>>> udevd[<pid>]: specified group 'kvm' unknown >> As for this particular patch, why is adding a specific KVM group required? >> Unless something is hardcoded in KVM to use group '47', a regular system type >> useradd call should be done instead. This would avoid the problem that >> Joshua >> is experiencing. >> >> --Mark >> >>>> Signed-off-by: Jacob Kroon <[email protected]> >>>> --- >>>> >>>> v2: Add reasoning in commit message trying to justify the added patch >>>> >>>> .../base-passwd/base-passwd/kvm.patch | 23 +++++++++++++++++++ >>>> .../base-passwd/base-passwd_3.5.29.bb | 3 ++- >>>> 2 files changed, 25 insertions(+), 1 deletion(-) >>>> create mode 100644 meta/recipes-core/base-passwd/base-passwd/kvm.patch >>>> >>>> diff --git a/meta/recipes-core/base-passwd/base-passwd/kvm.patch >>>> b/meta/recipes-core/base-passwd/base-passwd/kvm.patch >>>> new file mode 100644 >>>> index 0000000000..113d5151e7 >>>> --- /dev/null >>>> +++ b/meta/recipes-core/base-passwd/base-passwd/kvm.patch >>>> @@ -0,0 +1,23 @@ >>>> +From 6355278b9f744291864c373a32a8da8f84aaaf37 Mon Sep 17 00:00:00 2001 >>>> +From: Jacob Kroon <[email protected]> >>>> +Date: Wed, 30 Jan 2019 04:53:48 +0000 >>>> +Subject: [PATCH] Add kvm group >>>> + >>>> +Upstream-Status: Pending >>>> +Signed-off-by: Jacob Kroon <[email protected]> >>>> +--- >>>> + group.master | 1 + >>>> + 1 file changed, 1 insertion(+) >>>> + >>>> +diff --git a/group.master b/group.master >>>> +index cea9d60..5b62284 100644 >>>> +--- a/group.master >>>> ++++ b/group.master >>>> +@@ -34,6 +34,7 @@ utmp:*:43: >>>> + video:*:44: >>>> + sasl:*:45: >>>> + plugdev:*:46: >>>> ++kvm:*:47: >>>> + staff:*:50: >>>> + games:*:60: >>>> + shutdown:*:70: >>>> diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb >>>> b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb >>>> index c6be1c1d08..d1aab09181 100644 >>>> --- a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb >>>> +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb >>>> @@ -12,7 +12,8 @@ SRC_URI = >>>> "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar >>>> file://noshadow.patch \ >>>> file://input.patch \ >>>> file://disable-docs.patch \ >>>> - " >>>> + file://kvm.patch \ >>>> + " >>>> >>>> SRC_URI[md5sum] = "6beccac48083fe8ae5048acd062e5421" >>>> SRC_URI[sha256sum] = >>>> "f0b66388b2c8e49c15692439d2bee63bcdd4bbbf7a782c7f64accc55986b6a36" >>>> -- >>>> 2.20.1 >>>> >>>> -- >>>> _______________________________________________ >>>> Openembedded-core mailing list >>>> [email protected] >>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
