poky-tiny on qemuarm, qemuarm64, and qemuarmv5 (and possibly others, only testing these 3) is now failing to login when running testimage (currently only running ping test). The issue was bisected to commit 6d5adecd028582bf548cfa47c3b0f9e76fbc2d1f commit 6d5adecd028582bf548cfa47c3b0f9e76fbc2d1f Author: Alex Kiernan <alex.kiernan@gmail.com> Date: Thu Jul 20 11:20:14 2023 +0100 eudev: Add group sgx to eudev package Fix startup warning: udevd[171]: specified group 'sgx' unknown This mirrors the change in bab455cd9b1b ("systemd: add group sgx to udev package") for systemd-udev. (From OE-Core rev: 0e2bc425a6094a5816c9f4e73993baf27c9a51f5) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Created attachment 4962 [details] Boot log
I'm no closer to understanding what the underlying failure is, but the cause appears to be any package which does a groupadd causes login to fail with: qemuarm64 login: root setgid: Function not implemented process '/sbin/getty 115200 ttyAMA0' (pid 65) exited. Scheduling for restart. Reverting this commit and adding cronie to the image, causes the exact same error.
I could've been clearer - cronie has a groupadd in its build.
I tried it on qemux86 and it occurs there as well
Still trying to prove it, but I suspect this is because tiny uses allnoconfig, so CONFIG_MULTIUSER is unset and setgid() returns ENOSYS.
Bringing in changes via useradd.bbclass adds a dependency on shadow, which causes login to change from: build/tmp/work/qemuarm64-poky-linux-musl/core-image-minimal/1.0-r0/rootfs/bin/login -> /bin/busybox.suid to: build/tmp/work/qemuarm64-poky-linux-musl/core-image-minimal/1.0-r0/rootfs/bin/login -> /bin/login.shadow busybox login has these heuristics: https://git.busybox.net/busybox/commit/?id=a818777d4249e934ef7c9e6e7df8475d6692f315 so its login works with CONFIG_MULTIUSER unset, which the one from shadow doesn't. Not at all sure what the right fix here is...
Using a VIRTUAL-RUNTIME for useradd doesn't seem feasible here as busybox doesn't have useradd/groupadd applets. Adding the sgx user into base-passwd seems like the most sensible fix, but that still leaves the beartrap in useradd.bbclass for anyone using poky-tiny.
https://lists.openembedded.org/g/openembedded-core/message/185015
ross is this fixed your current patchset?
No, but should be fixed with d443fad3687c4dd2d7b4107079e0d297d03e94d6.
Closing, this should be fixed now.