Anyone who has ever rooted their Android-powered device should be familiar with two things: superuser and BusyBox. The former is a permissions management tool that lets you, the user, decide which apps get issued superuser permissions (and for how long), and which ones get rejected. BusyBox is something different, and it may be slated for replacement.
What is BusyBox, and what do we know about the “new BusyBox” that may be replacing it? I’m glad you asked!
What is BusyBox?
BusyBox was originally written by Bruce Perens and “finished” in 1996. It originally was aimed at putting a complete and bootable operating system on a single floppy disk (remember those?). This disk would then serve as both a “rescue” disk as well as an installer for the Debian distribution of Linux.
BusyBox combines many “simplified” Unix tools into a single executable file and is designed to run on a variety environments. The authors called it “The Swiss Army Knife of Embedded Linux”, which is fitting since it replaces more than 300 common commands in a single executable. Linux executables take up several kilobytes each, so when you multiply that by over 300, combining them all into one program can save substantial storage space.
Since then BusyBox has changed in scope a bit. Nowadays BusyBox is arguably the de facto standard Linux tool-set for embedded Linux devices and Linux distributions — such as Android, among others.
As you might expect, BusyBox itself is getting kind of dated, and not everything it contains is something that can be put to practical use in Android. Similarly, there are things that could be in BusyBox that are specific to Android, but aren’t included because BusyBox is cross-platform in that regard.
Something awesome this way comes
BusyBox is disadvantaged because the utilities it contains are striped down versions which provide less features than the originals. Luckily, BusyBox isn’t the only project that provides this kind of functionality. A new project, backed by XDA Senior Member alireza7991, has been created which offers even more commands than standard BusyBox does. It’s called GNU CoreUtils.
As it stands now, GNU CoreUtils for Android gives you access to 103 functional utilities, and that number is growing. Built using the Linaro toolchain (to better optimize for performance), the tools can be run by adding “cu” to the beginning of traditional BusyBox commands. This was done to avoid conflicts with BusyBox, so the two can run side-by-side.
The new tools require that your phone or tablet be compatible with the ARMv7 instruction set, and provide support for ARM NEON as well. Don’t worry though, most modern SoCs (excluding the Tegra 2) are compatible.
Why should you be excited?
If you’re not into the rooted or custom ROM scene, you might think none of this applies to you. On the surface you’d be right. However, since Android itself (and OEMs who develop products based on Android) has implemented many features as “standard” that were previously only available if your device was rooted and running BusyBox, it’s safe to assume that this trend will continue.
Remember when you couldn’t use your camera LED as a flashlight without root? Now you can.
Remember when you couldn’t take a screenshot without root? Now you can.
Those seem like pretty simple things, at least they do now. Back then they were a big deal. Today, look what we’re doing that still requires root: certain kinds of tethering, fast USB charging, backing up our devices, backing up individual apps and their settings, multi-windows, floating windows, floating notifications, knock to wake, and so much more. We’ll likely see some of those (and hopefully more) come to stock Android devices in the future, in the meantime, we have ROOT and the tools that run with those permissions.
Now, with even more powerful utilities, like those being built into GNU CoreUtils, just imagine what kinds of features and advancements we’re likely to see in rooted devices! Then, hopefully before too long, all you non-rooters might get a taste of them on your devices, too!
While we might not see tangible improvements and benefits today, the foundation of the next generation of Android apps is being laid — and root users will be the first to get them when they arrive.
Image credit: (cc) Quality & Style