Preface
BusyBox is a free GPL-licensed toolbox aimed at the embedded world. It is a collection of the tiny versions of many common Unix utilities. It can be compiled into one single binary and it provides a fairly complete environment for any small or large embedded system.
It is specifically designed for resource-limited and requirement-diverse embedded systems. It was written for size optimization and is extremely modular and highly configurable for system customization. Besides, it allows us to easily integrate new applets and to build embedded systems with it as a system base.
It provides basic shell programming and running environment. With the help of system generation tools like Buildroot, other generic tools and development environments can be added into the target embedded system easily. The benefit of these environments is that the target system can be enhanced to meet diverse requirements.
Besides daily-use utilities, it provides lots of lightweight replacements for powerful optimization tools and allows us to optimize the embedded system in many aspects, such as size tailoring, system stability enhancements, power consumption saving, system boot speedup, and debugging and tracing.
Android, a free ASL-licensed smartphone platform, is designed, developed, and released by Google. Benefitting from its Apache Software License (ASL), lots of third-party companies joined and formed the Open Handset Alliance. Without worrying about using open Android with their own non-open proprietary software, they produced many famous Android smartphones and eventually expanded the popularity of Android.
Behind the success of Android is a huge development investment. A large number of powerful software components have been developed, including the Android Goldfish emulator, Goldfish Linux kernel, Bionic libc, Java VM Dalvik, SDK, and NDK. Besides a BusyBox-like toolbox is added, but it is licensed under ASL and tailor-made for Android, only include a few of utilities and some platform-specific applets.
For embedded system optimization, we have no reason not to choose the famous BusyBox and Android. BusyBox is used as the toolbox and Android as the target platform. Their combination makes the requirement clear, experiment practical, and demonstration easy to understand.