[yocto] Issues with yocto and kernel option CONFIG_MULTIUSER
Robert Calhoun
rcalhoun at shotspotter.com
Fri Sep 11 08:27:05 PDT 2015
A new kernel feature, CONFIG_MULTIUSER, was added to the linux kernel in 4.1:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2813893f8b197a14f1e1ddb04d99bce46817c84a
This advanced kernel option defaults to “y", see:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/init/Kconfig?id=refs/tags/v4.2
This kernel option is potentially helpful to embedded system developers because it enables a smaller kernel.
However in the short term it causes several problems that are only apparently at runtime, most seriously that dropbear logins fail at runtime with "Exit (root): Failed to set euid”. Numerous busybox commands also fail, see
http://lists.busybox.net/pipermail/busybox/2015-May/082910.html
I encountered this issue because yocto’s kernel_configme() step uses the “allnoconfig” upgrade option rather than the “oldnoconfig” option, and do_kernel_configme() runs before do_configure(). Silent upgrades should be done with “oldnoconfig”. I have filed a bug on this:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8289
I know the latest yocto-supported kernel is 3.19, but wanted to give users who are building newer kernels a heads-up about the CONFIG_MULTIUSER change to avoid unexpected ssh lockout.
Rob Calhoun
More information about the yocto
mailing list