On Tue, May 22, 2007 at 02:27:53AM +0200, Denis Vlasenko wrote:
> On Monday 21 May 2007 19:43, William Thompson wrote:
> > When I configured older versions of busybox (v1.0), I enabled
> > CONFIG_FEATURE_SH_STANDALONE_SHELL so that I wouldn't have to have links for
> > all the applets I compiled in.
> > 
> > I'm now trying 1.5.0 but I'm not having any luck with this.
> > 
> > To test it, I chroot'd into the busybox directory like this:
> > chroot . busybox ash
> > 
> > Here's what I'm seeing:
> > %m:%~%# ln
> > %m:%~%# cp
> > %m:%~%# ping    
> > ash: ping: not found
> > %m:%~%# busybox ping
> > %m:%~%#
> 
> PREFER_APPLETS + STANDALONE_SHELL has three modes of excuting applets:
> 
> 1. NOFORK: just call <applet>_main()
> 2. NOEXEC: fork, call <applet>_main(), exit
> 3. fork + exec /proc/self/exe
> 
> (1) and (2) do not require /proc, but work only for limited
> number of applets (because applet's code should be written with
> special care if applet is eligible to NOEXEC/NOFORK trick).

I like #2 better.  Didn't know it would do #1.

> (3) requires /proc

You mean requires "CONFIG_BUSYBOX_EXEC_PATH" to be available?

> If you want ping to work without /proc, send a patch which will
> make it NOEXEC. Or NOFORK, but that is harder to do right
> (and code is sligtly bigger).

ping was just an example, which I was unable to get working anyway, setgid
complains (when ran as root)
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to