[re]Bug in busybox base applet?
rob at landley.net
Thu Sep 1 23:21:17 UTC 2005
On Thursday 01 September 2005 07:25, Yann E. MORIN wrote:
> 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