I'd like to be a tester of busybox

Rob Landley rob at landley.net
Thu Oct 26 16:59:28 UTC 2006


On Thursday 26 October 2006 11:59 am, Yan Seiner wrote:
> Rob Landley wrote:
> > I've been dogfooding
> 'dogfooding'?  That's a new technical term for me...  :-)
> 
> What exactly is it?  I could guess, but I'd probably be wrong...  :-)

Google "dogfooding", first hit:

  http://en.wikipedia.org/wiki/Eat_one's_own_dog_food

Firmware Linux uses BusyBox and uClibc to construct a small build environment 
out of busybox, uClibc, gcc, binutils, and make, chroot into it, and rebuild 
the OS from source code, ideally without any GNU tools on the system except 
those first three build tools.

Unfortunately this still doesn't quite work: I still need bash.  (Hence my 
interest in writing bbsh.)  And the minimal bootstrap environment actually 
has one more package (needs linux kernel headers).  For a total of seven 
packages with bash still in there.  I was trying to get it down to four 
(linux, tcc, busybox, and uclibc).

When I started in 2003, I still needed a dozen gnu packages to get a system 
that could rebuild itself from source.  The hardest one to eliminate was 
coreutils (I had to extensively rewrite BusyBox's sed and sort and make puppy 
eyes at the awk applet maintainer), plus there were bug fixes needed in all 
sorts of other things all over the map (gunzip, tar...)  I believe 1.1.1 was 
the first version you didn't need coreutils for, and it still had lots of 
scattered bugs.  (Some in uClibc last I tried it, uClibc 0.9.28 screws up 
BusyBox's "tar xvjfC file.tbz dirname" so that it tries to extract a file 
named "C".  It's a getopt bug...)

The resulting system doesn't have those gnu packages either, it has BusyBox.  
So actually trying to use the resulting system would quickly confront you 
with things like "ps ax doesn't work" and the idiosyncrasies of BusyBox's ls 
command.  Several of which have since been addressed, but not all...

These days, my goal is to get Firmware Linux to work with just toybox and 
uClibc, plus a toolchain and kernel.  I have a ways to go, but no real 
deadline. :)

Rob
-- 
"Perfection is reached, not when there is no longer anything to add, but
when there is no longer anything to take away." - Antoine de Saint-Exupery



More information about the busybox mailing list