Getting BusyBox

downloading

compiling

host$ source ~/.oe/crossCompileEnv.sh
host$ make help
host$ make defconfig
host$ make -j9 # use -jX for X-1 cores

configuring

You can now configure BusyBox.

host$ make gconfig

After saving the configuration changes to update the .config file, it is a simple matter of running make.

host$ make -j9

My make took about 1.5 minutes to compile (25 seconds with make -j8!).

installing

Copy it to your Beagle and test it out. Just typing busybox will tell you what commands it knows. Try some of them.

host$ scp busybox root@beagle:.
beagle$ busybox
beagle$ busybox ls

Try some other commands...

Playing with BusyBox

shrinking

How big is the busybox file? The default configuration for busybox has it many things (some 400). Reconfigure it to do just the commands you use. How big is it now? How big is it if you just have ls? How much bigger is it when you add httpd? Try your own combinations. Report your findings in your status report.

Static Linking

Some embedded systems are so small they don't have shared libraries. Recompile busybox to be statically linked. (Hint: look in configuration) How big it is? Does it still work?

Running a Web Server

Configure busybox to be a web server. Look under Networking Utilites, select httpd. How much more space does it take?

beagle$ busybox httpd

Yup, you are now running a web server. Your task is to figure out where to put the web pages it is serving. If you get something interesting going post your Beagle's address here. Hint: find httpd.c.