[TOOL][BIN]BusyBox Recovery Flashable Zips **ALL-ARCHS**

Search This thread

YashdSaraf

Senior Member
Sep 4, 2013
189
652
Mumbai
Update 14-Jul/18: Busybox v1.29.0 released (Complete changelog: here)
Hello XDA,
All the flashable zips include two builds.
SELinux Enabled and Normal
This post will give you a pretty good idea about the difference.

There are 401 applets included in the normal and 413 applets included in the selinux build.
Here's a list for the same.
NOTE: Installing busybox does not modify your device's selinux status.

Architectures supported: arm, arm64, x86, x86_64, mipsel, mips64el and mipseb.
The attached zips install busybox in one of /magisk/bbxyds, [/data/adb]/su/xbin, /system/xbin, [/system]/vendor/bin after cleaning older busybox binaries and their symlinks from the device (if any).
Universal busybox installer flashable zip detects the architecture and installs busybox accordingly.

Code for mounting the su.img and running in embedded mode is borrowed from the SuperSU project.

SELinux status is automatically detected by the installers.

Behaviour of all the installers as well as the cleaner can be manipulated using a bbx.conf file which should be placed in one of /sdcard, /data or /cache. For more details refer to the second post.

TWRP recovery or Flashfire is recommended for flashing the attached installers, however the code is pretty generic and should work on other recoveries too.

Projects using my BusyBox builds are:
Open Gapps
Apps2SD
Project Skynet
StØck ROM Sense 5 by @denkem
Stock Debloated roms for nexus 5, 6, 5x and 6p by @tupac4u
Inlightning Org
Universal SafetyNet Fix by @Deic
If you would like to include my builds in your project, a link to this thread in the project thread would be expected.
Also, if you can, pm me about it so I can add the name to this list. :)

Credits:
@7175 for his thread
@bovirus @Chinaboy5216 @skulldreamz for testing and reporting
XDA for...do I need to say it :D

Disclaimer: Neither me nor anyone else at XDA is responsible for what happens to your device. Please use the tools/utilites attached at your own discretion.

Having said that, I'll try my best to help you with any bugs or exceptions you might face.

Download: Click here
Mirror: Sourceforge

  • Busybox-CLEANER.zip and all the installers clean BusyBox in /su/xbin /data/adb/su/xbin /system/xbin /system/vendor/bin /vendor/bin /data/adb/su/bin /system/bin /su/bin /magisk/phh/bin /su/xbin_bind /data/adb/su/xbin_bind and /magisk/bbxyds

  • The installers will automatically detect 32/64 bit arch and install the appropriate binary

  • NOTE: If FlashFire gets stuck on a black screen or errors out when flashing, please flash from recovery instead. (There seems to be a /system mounting issue on some devices in FlashFire)

File list:

  • Busybox-<VERSION>-YDS-UNIVERSAL.zip
    Flashable zip compatible with all architectures.

  • Busybox-<VERSION>-YDS-<ARCHITECTURE>.zip
    Architecture specific flashable zip files.

  • Busybox-<VERSION>-YDS-<ARCHITECTURE>.tgz
    Consists of pre-compiled busybox binaries.
    Not flashable

  • Busybox-installer-<ARCHITECTURE>.bin
    Executable files for installing busybox without rebooting in recovery mode. See 2nd post for more details.
    Not flashable

  • Source code (zip, tar.gz)
    Source code files automatically generated via Github releases.
    Not flashable


For older versions refer to my androidfilehost, drive, mediafire or sourceforge folders.
Toolchains used for building these binaries can be found here (host arch -> x86_64).
For official busybox source and changelog refer here.

Do report how these work out for you, as most of the testing has been done on emulators.
You can request any applet in this thread. If it does not affect the size of the whole binary or there are enough users backing it, I'll add it in the next release.
When reporting please attach the BusyBox-YDS-installer.log, it should be in either /sdcard, /data or /cache.

Source:
https://github.com/yashdsaraf/busybox
https://sourceforge.net/p/busybox-yds/code
 
Last edited:

YashdSaraf

Senior Member
Sep 4, 2013
189
652
Mumbai
Op

bbx.conf:
Allowed options in bbx.conf are,
  • installdir=<path>
Change the directory for installing busybox to <path>. If <path> is not a valid directory, then the installer will fall back to the default installation directory.
Note: Any older busybox installation in the supplied directory will be cleaned.
Warning: Please use this option only if you are absolutely sure about what you are doing.
e.g installdir=/data/local/xbin
  • selinux=[0|1]
Controls the selinux support in busybox.
E.g To disable SELinux support
Code:
selinux=0

To enable SELinux support
Code:
selinux=1

  • noclean
If supplied, the installers will skip cleaning any previous busybox installations.
Sample:
To install busybox in /data/local/xbin without cleaning previous busybox installations with SELinux support enabled, following would be a valid bbx.conf file
Code:
installdir=/data/local/xbin
noclean
selinux=1

Note:
Busybox cleaner only reads the installdir option and cleans busybox in that directory
Self extracting executables:
All the .bin files in the download link in the above post are self extracting executables. They can install busybox directly from a terminal without rebooting in recovery.
Usage:

  • Install any terminal app.
  • Get root privileges,
    Code:
    su

  • E.g if you have the installer for ARM downloaded in sdcard, run this
    in the terminal,
    Code:
    sh /sdcard/Busybox-installer-arm.bin

  • And watch the magic happen.
Options:

-h | --help
Show help message.
-i | --interactive
Run script in interactive mode.
-nc | --noclean
Do not clean previous busybox installation(s) (IF ANY).
-oc | --onlyclean
Clean previous busybox installation(s) (IF ANY) and exit.
If supplied, all other options are ignored except installdir.
--selinux=[(y)es|(n)o]
Enable or disable selinux support in busybox.
--installdir=<path>
Install busybox in <path>.
Tip: To clean busybox in a custom directory, run the installer in onlyclean mode and set installdir to the custom directory which needs to be cleaned.
e.g. to clean busybox in /data/local/xbin run the installer as
Code:
sh <script_name> -oc --installdir=/data/local/xbin
 
Last edited:

bovirus

Senior Member
Oct 7, 2007
2,154
795
@YashdSaraf

Thanks for new thread

"[TOOL][BIN]busybox flashable for all architecture via recovery"

I will remove "Latest" and add info that is flashable via recovery.

I will change the thread title in
 
  • Like
Reactions: skulldreamz

skulldreamz

Senior Member
Mar 13, 2012
1,401
1,175
Baltimore, MD
@YashdSaraf had a quick question. I have been using your busybox zips since you've staying building and i first want to say thank you. My question is when i use the busybox unistaller zip or busybox cleaner with your zip it says that it removes 0 symlinks and when i use stericson busybox zip it says that I'm removing 3xx plus symlinks. I was just wondering wondering why his and osmosis show that binaries were symlinked and yours showed that 0 were? I want to lastly say though that your zip worked and busybox was installed and worked correctly. I like some of the extra binaries yours offers do just a curious question thanks.

Sent from my Nexus 6P using Tapatalk
 

YashdSaraf

Senior Member
Sep 4, 2013
189
652
Mumbai
is the issue mentioned here addressed? @YashdSaraf, hope you read my pm.

I did, I'm sorry I was too busy switching to a new OS. Anyways, I've got a couple of ideas over what might've gone wrong. I'll pm you the updated installers as soon as I'm done for testing. :good:

@YashdSaraf had a quick question. I have been using your busybox zips since you've staying building and i first want to say thank you. My question is when i use the busybox unistaller zip or busybox cleaner with your zip it says that it removes 0 symlinks and when i use stericson busybox zip it says that I'm removing 3xx plus symlinks. I was just wondering wondering why his and osmosis show that binaries were symlinked and yours showed that 0 were? I want to lastly say though that your zip worked and busybox was installed and worked correctly. I like some of the extra binaries yours offers do just a curious question thanks.

Sent from my Nexus 6P using Tapatalk

I did not update the uninstaller after systemless root was introduced so it must be looking only in the /system partition for busybox. I'll upload the updated uninstaller today.
Thanks for your support. :)
 

m0han

Senior Member

Attachments

  • BB-1.24.2_YDS.jpg
    BB-1.24.2_YDS.jpg
    167.5 KB · Views: 14,471
Last edited:

bovirus

Senior Member
Oct 7, 2007
2,154
795
@YashdSaraf

thanks for your busybox.

I had some problems to install it (I tried arm/arm64/all zip file withS elinux).
Every time the installation end with error "Wrong architecture".

My build propri content about cpu is

# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=arm64-v8a
ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=arm64-v8a

To install I had to use previous zip file (1.24.1) where you not have archictecture check and replace 1.24.1. busybox with busybox extracted by 1.24.2 zip.

Where can i get the error log of your script? It show just only /data...

Please check your script.
Thanks.
 
Last edited:
OK... the BusyBox app on the play store had an update to 1.24.2.

When I install the update from 1.24.1 to 1.24.2, it states that it installed successfully, it doesn't reflect it.

It still shows that 1.24.1 is installed.

I tried wiping the dalvik cache before and after as well as reinstalling the app and it still reflects 1.24.1.

Also, it displays that 1.24.2 will be installed in the system xbin but, doesn't.

Thank you.
 

YashdSaraf

Senior Member
Sep 4, 2013
189
652
Mumbai
@YashdSaraf

thanks for your busybox.

I had some problems to install it (I tried arm/arm64/all zip file withS elinux).
Every time the installation end with error "Wrong architecture".

My build propri content about cpu is

# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=arm64-v8a
ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=arm64-v8a

To install I had to use previous zip file (1.24.1) where you not have archictecture check and replace 1.24.1. busybox with busybox extracted by 1.24.2 zip.

Where can i get the error log of your script? It show just only /data...

Please check your script.
Thanks.
Hey,
I think the reason for failure was that the script could not detect the /data partition.
Please try these zips instead. :)
arm arm64
There should be a BusyBox-YDS-installer.log in either /sdcard, /data or /cache, whichever your device supports.
Do attach it when reporting back.:good:

OK... the BusyBox app on the play store had an update to 1.24.2.

When I install the update from 1.24.1 to 1.24.2, it states that it installed successfully, it doesn't reflect it.

It still shows that 1.24.1 is installed.

I tried wiping the dalvik cache before and after as well as reinstalling the app and it still reflects 1.24.1.

Also, it displays that 1.24.2 will be installed in the system xbin but, doesn't.

Thank you.
I'm not sure what are you talking about. I'm not related whatsoever to any play store busybox installer apps. Try one of the installers from the op to install 1.24.2 busybox.:)
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 184
    Update 14-Jul/18: Busybox v1.29.0 released (Complete changelog: here)
    Hello XDA,
    All the flashable zips include two builds.
    SELinux Enabled and Normal
    This post will give you a pretty good idea about the difference.

    There are 401 applets included in the normal and 413 applets included in the selinux build.
    Here's a list for the same.
    NOTE: Installing busybox does not modify your device's selinux status.

    Architectures supported: arm, arm64, x86, x86_64, mipsel, mips64el and mipseb.
    The attached zips install busybox in one of /magisk/bbxyds, [/data/adb]/su/xbin, /system/xbin, [/system]/vendor/bin after cleaning older busybox binaries and their symlinks from the device (if any).
    Universal busybox installer flashable zip detects the architecture and installs busybox accordingly.

    Code for mounting the su.img and running in embedded mode is borrowed from the SuperSU project.

    SELinux status is automatically detected by the installers.

    Behaviour of all the installers as well as the cleaner can be manipulated using a bbx.conf file which should be placed in one of /sdcard, /data or /cache. For more details refer to the second post.

    TWRP recovery or Flashfire is recommended for flashing the attached installers, however the code is pretty generic and should work on other recoveries too.

    Projects using my BusyBox builds are:
    Open Gapps
    Apps2SD
    Project Skynet
    StØck ROM Sense 5 by @denkem
    Stock Debloated roms for nexus 5, 6, 5x and 6p by @tupac4u
    Inlightning Org
    Universal SafetyNet Fix by @Deic
    If you would like to include my builds in your project, a link to this thread in the project thread would be expected.
    Also, if you can, pm me about it so I can add the name to this list. :)

    Credits:
    @7175 for his thread
    @bovirus @Chinaboy5216 @skulldreamz for testing and reporting
    XDA for...do I need to say it :D

    Disclaimer: Neither me nor anyone else at XDA is responsible for what happens to your device. Please use the tools/utilites attached at your own discretion.

    Having said that, I'll try my best to help you with any bugs or exceptions you might face.

    Download: Click here
    Mirror: Sourceforge

    • Busybox-CLEANER.zip and all the installers clean BusyBox in /su/xbin /data/adb/su/xbin /system/xbin /system/vendor/bin /vendor/bin /data/adb/su/bin /system/bin /su/bin /magisk/phh/bin /su/xbin_bind /data/adb/su/xbin_bind and /magisk/bbxyds

    • The installers will automatically detect 32/64 bit arch and install the appropriate binary

    • NOTE: If FlashFire gets stuck on a black screen or errors out when flashing, please flash from recovery instead. (There seems to be a /system mounting issue on some devices in FlashFire)

    File list:

    • Busybox-<VERSION>-YDS-UNIVERSAL.zip
      Flashable zip compatible with all architectures.

    • Busybox-<VERSION>-YDS-<ARCHITECTURE>.zip
      Architecture specific flashable zip files.

    • Busybox-<VERSION>-YDS-<ARCHITECTURE>.tgz
      Consists of pre-compiled busybox binaries.
      Not flashable

    • Busybox-installer-<ARCHITECTURE>.bin
      Executable files for installing busybox without rebooting in recovery mode. See 2nd post for more details.
      Not flashable

    • Source code (zip, tar.gz)
      Source code files automatically generated via Github releases.
      Not flashable


    For older versions refer to my androidfilehost, drive, mediafire or sourceforge folders.
    Toolchains used for building these binaries can be found here (host arch -> x86_64).
    For official busybox source and changelog refer here.

    Do report how these work out for you, as most of the testing has been done on emulators.
    You can request any applet in this thread. If it does not affect the size of the whole binary or there are enough users backing it, I'll add it in the next release.
    When reporting please attach the BusyBox-YDS-installer.log, it should be in either /sdcard, /data or /cache.

    Source:
    https://github.com/yashdsaraf/busybox
    https://sourceforge.net/p/busybox-yds/code
    31
    Op

    bbx.conf:
    Allowed options in bbx.conf are,
    • installdir=<path>
    Change the directory for installing busybox to <path>. If <path> is not a valid directory, then the installer will fall back to the default installation directory.
    Note: Any older busybox installation in the supplied directory will be cleaned.
    Warning: Please use this option only if you are absolutely sure about what you are doing.
    e.g installdir=/data/local/xbin
    • selinux=[0|1]
    Controls the selinux support in busybox.
    E.g To disable SELinux support
    Code:
    selinux=0

    To enable SELinux support
    Code:
    selinux=1

    • noclean
    If supplied, the installers will skip cleaning any previous busybox installations.
    Sample:
    To install busybox in /data/local/xbin without cleaning previous busybox installations with SELinux support enabled, following would be a valid bbx.conf file
    Code:
    installdir=/data/local/xbin
    noclean
    selinux=1

    Note:
    Busybox cleaner only reads the installdir option and cleans busybox in that directory
    Self extracting executables:
    All the .bin files in the download link in the above post are self extracting executables. They can install busybox directly from a terminal without rebooting in recovery.
    Usage:

    • Install any terminal app.
    • Get root privileges,
      Code:
      su

    • E.g if you have the installer for ARM downloaded in sdcard, run this
      in the terminal,
      Code:
      sh /sdcard/Busybox-installer-arm.bin

    • And watch the magic happen.
    Options:

    -h | --help
    Show help message.
    -i | --interactive
    Run script in interactive mode.
    -nc | --noclean
    Do not clean previous busybox installation(s) (IF ANY).
    -oc | --onlyclean
    Clean previous busybox installation(s) (IF ANY) and exit.
    If supplied, all other options are ignored except installdir.
    --selinux=[(y)es|(n)o]
    Enable or disable selinux support in busybox.
    --installdir=<path>
    Install busybox in <path>.
    Tip: To clean busybox in a custom directory, run the installer in onlyclean mode and set installdir to the custom directory which needs to be cleaned.
    e.g. to clean busybox in /data/local/xbin run the installer as
    Code:
    sh <script_name> -oc --installdir=/data/local/xbin
    21
    Busybox update

    Finally busybox is now fully Magisk compatible.
    All the flashable zips will now install busybox as a Magisk module (if magisk >v13.1 is installed), also they can be installed from the Magisk manager app itself.
    The busybox cleaner code has also been updated to clean the busybox Magisk module (if found)
    Note: The offine installers (.bin files) should not be used for installing busybox as a magisk module. (Anyway, it'll give you a prompt for the same so no worries :p)

    Of course this does not mean that you've got to have magisk installed, the legacy installation still works just fine. :good:
    Lastly, sorry for the delay people, had to format nearly the whole core installation code :)

    As always, please test and report if any errors are encountered.
    14
    I do not have any logs to attach, but a while ago (a month or less) I tested your Busybox (1.26 I think) on Android 6.0 and after that selinux became disabled

    Ahh nice, I also need x86 and x86_64, but you can take your time.
    I can wait for your complete release, I'm not in rush :D

    BTW, I saw you have some issues with zip signing, here is a guide that might help you out :)
    https://xdaforums.com/android/software-hacking/dev-complete-shell-script-flashable-zip-t2934449

    Updated the op with links to fixed busybox builds. Do tell if they do not work for you. :)
    14
    BB v1.27.0 released (download link in op), please test and report if any errors are encountered. :)
    Thanks for the heads up @bovirus.