[re]Bug in busybox base applet?

Rob Landley rob at landley.net
Thu Sep 1 23:21:17 UTC 2005

On Thursday 01 September 2005 07:25, Yann E. MORIN wrote:
> Hi!
> Quoting Bernd Petrovitsch <bernd at firmix.at>:
> > I can imagine that there are situations where you do not want (or able)
> > to install tens of sym-links (and just use shell functions) just have
> > one binary named "busybox".
> > I just can't get a good example together.
> An example:
> My machine loads the kernel and a simple initrd via PXE, and the initrd
> then loads some modules (mostly network related), configures the ethernet
> IF, mounts a NFS and pivots root to it. For this I don't care having tens
> of symlink in the initrd, as user won't see it anyway. Bloats a little bit
> the init script, but that's the way I choosed (plus it fits the scheme you
> described! ;-) ).

If you _do_ have one binary named "busybox" and want the multiplexing 
behavior, it works.  The new requirement is that the binary _be_ named 
"busybox", whereas before it would fall back to the multiplexing behavior for 
any name it didn't recognize.

You can put this binary in any directory and call it via ./ or put it at the 
head of $PATH.  Or you can rename it "ash" and use the standalone shell 
option so it calls its built-in utilities that way.  If you have some strange 
religious obligation you can change the name "busybox" on line 149 of 
applet.c to "harvey-the-yodeling-hamster" and call it that way, but nobody's 
come up with an example yet of when this might actually be needed.

You can also create symlinks to whatever it's called (as a normal user).  You 
can rename the binary to the command you want it as that command.

Incidentally, I'm currently working on adding a "make standalone", based off 
of the script I posted in february.  The down side to this is I'm not good 
with makefiles, but I'm trying to bash past that (juggling it with the 8 
gazillion other things I'm doing).

The point of "make standalone" is to build busybox as dozens of individual 
executables.  (No, my first pass won't make libbb.a into libbb.so, I'm just 
linking each one against libbb.a for now...)


More information about the busybox mailing list