[OE-core] [PATCH V5 0/2] shadow: upgrade from 4.1.4.3 to 4.2.1

Richard Purdie richard.purdie at linuxfoundation.org
Mon Jul 21 18:16:30 UTC 2014


On Mon, 2014-07-21 at 04:59 -0600, Gary Thomas wrote:
> On 2014-07-21 02:27, Richard Purdie wrote:
> > On Thu, 2014-07-17 at 15:53 +0800, Chen Qi wrote:
> >> The following changes since commit 846bc50fde11bbb36c8eb5b2e3ae6bb644c037f3:
> >>
> >>    ltp: use "foreign" automake strictness (2014-07-16 10:27:16 +0100)
> >>
> >> are available in the git repository at:
> >>
> >>    git://git.openembedded.org/openembedded-core-contrib ChenQi/shadow-4.2.1
> >>    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/shadow-4.2.1
> >>
> >> Chen Qi (2):
> >>    shadow: upgrade from 4.1.4.3 to 4.2.1
> >>    oeqa: fix return status in pam.py to match shadow-4.2.1
> >
> > I think but am not 100% sure this has introduced another regression:
> >
> > https://autobuilder.yoctoproject.org/main/builders/nightly-oecore/builds/177
> >
> > The issue is that X doesn't start in oe-core built images. It does work
> > correctly in poky. The issue is that the /etc/init.d/xserver-nodm script
> > returns:
> >
> > root at qemuarm:/etc# /etc/init.d/xserver-nodm start
> > Starting Xserver
> > su: applet not found
> >
> > or to be more specific:
> >
> > root at qemuarm:/etc# su -l -c '/etc/X11/Xserver&' xuser
> > su: applet not found
> >
> >
> > The poky images appear to work since we install bash. If you remove bash
> > from packagegroup-core-device-devel.bb, the poky images will show the
> > same error.
> >
> > I think this is something to do with the none-suid busybox binary not
> > containing su support, but why su is being called there, I don't know.
> > su is being provided by shadow in the image. If I make su provided by
> > busybox the problem also goes away.
> 
> The problem (reported last week on the Yocto list) is su.shadow
> changed how it behaves.  The old version would end up passing
> the script off by
>    6761  execve("/bin/sh", ["/bin/sh", "-c", "/etc/X11/Xserver"], [/* 7 vars */]) = 0
> whereas the new version does
>    961   execve("/bin/sh", ["-su", "-c", "/etc/X11/Xserver"], [/* 7 vars */]) = 0

Hmm, busybox is interpreting that "-su" as an argument to call su, which
busybox.nosuid doesn't have within it as an applet, hence the error
message.

> I still haven't figured out why su.shadow now behaves this way.

That does indeed look like what we need to figure out...

Cheers,

Richard




More information about the Openembedded-core mailing list