Common Linux tools on Android without root by installing BusyBox


[Adam Outler] shows us how to expand the Linux tools available on Android without rooting the device. He does this by installing BusyBox. The binary is copied to the device using the Android Developer Bridge. He then opens an ADB shell, adds execution permissions to the binary, and runs it. BusyBox calls itself the Swiss Army Knife of Embedded Linux. It provides a set of very common tools which you’ll find useful in your tinkering. The one that [Adam] shows off in his video is the vi editor, but the basics that make a shell work are all there like: ls, mkdir, grep, dmesg, mount… you get the point.

So what are you going to do with your unrooted device now that you have these commands at your disposal? That’s really for you to figure out. [Adam] continues his demonstration by installing a package that does require root access. It’s BotBrew Basil, which adds apt-get and a few more complex packages. He then uses vi to write a C++ Hello World program, then compiles it and runs it. So if you’re looking to do some development on your phone this is one way.


  1. konkop says:

    That is really sweet :-).

  2. AndroidCat says:

    I doubt it’d fit on a phone, but on my tablet I have Terminal IDE from the Play Store, which is a full development suite, including Busy Box.

  3. Jon says:

    Awesome! Thanks for this!

    I’ve definitely been missing out on some Linux tools while mobile, especially the network-related ones. And I haven’t really been wanting to root.

    @AndroidCat – What do you mean? My GS3 has 8.3GB available space on internal phone storage. Total internal storage is reported as 11.95GB.

  4. Michael says:

    Reblogged this on Critical Security.

  5. zokier says:

    busybox is fairly limited though. i’m surprised that android doesn’t actually ship with it. get GNU tools on a phone and I’m interested again (speaking as a former N900 user)

    • mikemac says:

      Nope. Google used their own, stripped down busybox-like tool for Android instead. Google seems to prefer everyone to stay out of the shell.

      • mikemac says:

        Forgot to add: I’m STILL a N900 user, soon to switch to a Nexus4, as soon as it gets here!

        • Jon says:

          You just can’t beat the N900, as far as hacking, freedom, Linux tools, etc.

          I still have mine handy, thought without a SIM. That went into my GS3 this year.

          I’m actually considering keeping the N900 plugged in to USB power somewhere tucked away, and have it authenticate VPN connections for me. It’s on the WiFi the whole time, and I’ve got EasyDebian, so it should work.

  6. cololoco says:

    “He then uses vi to write a C++ Hello World program, then compiles it and runs it.”

    He needed vi to write hello world? If he had half a beard, he would have typed the program directly into the compiler.

  7. nieya7Ma says:

    I’ve saved time and bought ZShaolin for a couple bucks, its a neat app and under active development

  8. Adam Honse says:

    Awesome, use busybox a lot on my phone but didn’t know about botbrew, looks awesome! On a side note, how dare you impersonate me, for adam@adam-desktop has long been MY machine! (and adam-laptop, adam-server too)

  9. mixup2010 says:

    I recently jalbroke my ipod touch 4thgen, It’s awesome. I got python, lighttpd (web server), weechat (irc client), and heaps of libs. It’s an awesome little unix device.

  10. dicks says:

    Busybox comes preinstalled on Cyanogenmod.

  11. Jeffrey Thompson says:

    Hey, I believe I just found an application that can do this on your phone:

  12. DannyB says:

    What would be way cold is if someone had compiled User Mode Linux (UML) for ARM. UML is an executable, like busybox. It does not require root. Once running, UML is a linux kernel running as an executable in userspace. When started UML “boots” up and runs /sbin/init which kicks everything off like a normal distribution.

    (Sorry, 2nd post — added [x] Notify me of follow-up via email.)

  13. Jeffrey Thompson says:
  14. Guy says:

    I’m trying this on a GS4 i9505. I get “Operation not permitted” when I try chmod. Could they have changed the required permissions for it?

  15. Luca says:

    that return an error
    busybox: /system/bin/which: Invalid cross-device link
    busybox: /system/bin/who: Invalid cross-device link
    busybox: /system/bin/whoami: Invalid cross-device link
    busybox: /system/bin/xargs: Invalid cross-device link
    busybox: /system/bin/xz: Invalid cross-device link
    busybox: /system/bin/xzcat: Invalid cross-device link
    busybox: /system/bin/yes: Invalid cross-device link
    busybox: tem/bin/zcat: No such file or directory
    busybox: tem/sbin/zcip: No such file or directory

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 98,062 other followers