[BusyBox] An alternative to buildroot.

Rob Landley rob at landley.net
Sat May 29 07:58:59 UTC 2004

It's in a very early stage yet still, but I'm applying bolts to the neck of my 
old "firmware linux" distro and dragging it from the grave.


I'll be moving that to a faster server in a few days, try not to hit the 
current one too hard, it's on a friend's DSL line and sources.tar.gz is over 
100 megabytes.

This is of interest to both the uclibc and busybox lists.

The uclibc people might be interested because the mktools-uclibc.sh script is 
a simple bash script that builds a self-contained uclibc toolchain (which can 
be configured to be a cross-compiler; I'll put some comments about that if 
anybody really cares),   All you have to do to use it is throw it in the 
/tools directory (or symlink /tools to wherever it lives), and then go 
"PATH=/tools/bin:$PATH" to put it at the start of your path.  Then compile as 
normal.  (Admittedly it'll link against the uclibc and ld-uclibc in /tools 
rather than in /lib, but it's an easy way to test stuff and fixing it so the 
libraries and loader are in the right place shouldn't be too hard to figure 
out by looking at the make-chroot-uclibc.sh bash script.  It's the bit where 
the spec file gets tweaked...)

This is of interest to the busybox people because it contains my effort to get 
busybox working as part of a full fledged development environment, capable of 
configuring and compiling all the FSF tools and everything.  Before I moved 
the thing to use the 2.6 headers instead of the 2.4 headers, and to use 
uclibc instead of glibc, every source package mentioned in the list compiled 
and seemed to work using the busybox tools in the thing.  (The 2.6 headers 
broke more of them then uclibc did.  See the comments.)

However, in order to get all that stuff to build, you'll notice several of the 
busybox utilities got replaced with the original non-busybox versions.  Feel 
free to put the busybox versions back and see what breaks; I believe every 
breakage is pretty obvious to spot if you do them one at a time.  (All build 
breaks, not functional ones.  Well, I haven't tried busybox awk and sh in a 
while, but the rest of them were obvious...)

Also notice a couple extra problems crop up if you do things I don't try, like 
running "make clean".  (Busybox find cannot handle "make clean" on the 
busybox source code.  That's embarassing...)

I'm working to get c++ up and running so I can build python under this thing 
(so I can use the oak dns server).  I've already built dropbear, and uclibc 
comes with a web server, so I'm halfway to being able to migrate my domain 
over to a server running on this system...


www.linucon.org: Linux Expo and Science Fiction Convention
October 8-10, 2004 in Austin Texas.  (I'm the con chair.)

More information about the busybox mailing list