Skip to main content
BusyBox provides a comprehensive collection of Unix utilities in a single executable, giving you access to powerful command-line tools within WSA. This guide covers installation for Magisk-based WSA builds.
Prerequisite: This guide requires WSA with Magisk installed. BusyBox is not available for non-root builds. If you need root access, install a Magisk variant of WSA.

What is BusyBox?

BusyBox combines tiny versions of many common Unix utilities into a single small executable. It provides replacements for most utilities you usually find in GNU fileutils, shellutils, etc. Common BusyBox tools include:
  • File management: cp, mv, rm, ls, cat, grep
  • Networking: wget, netstat, ping, ifconfig
  • System: ps, kill, mount, umount
  • Text processing: sed, awk, cut, sort
  • And hundreds more…

Why Install BusyBox?

BusyBox is useful for:
  • Advanced terminal operations via ADB shell
  • Running shell scripts that require Unix utilities
  • System administration and debugging
  • Using Magisk modules that depend on BusyBox
  • Automating tasks with shell scripts
  • Development and testing

Installation Process

Since Magisk has BusyBox built-in, installation is straightforward using a Magisk module that creates symlinks to the built-in binary.
1

Download BusyBox Magisk Module

Using an Android browser in WSA:
  1. Install a browser if you haven’t already (sideloading guide)
  2. Download the BuiltIn-BusyBox Magisk Module
  3. Save the .zip file to a memorable location
Recommended browsers: Bromite, Kiwi Browser, or Firefox
2

Install Module via Magisk Manager

  1. Open Magisk Manager app in WSA
  2. Tap the Modules tab (puzzle piece icon)
  3. Tap Install from storage
  4. Navigate to the downloaded .zip file
  5. Select the file to begin installation
  6. Wait for “Done!” message
  7. Tap Reboot (or manually restart WSA)
3

Restart WSA

To apply the BusyBox installation:
  1. Open Windows Subsystem for Android Settings
  2. Click Turn off to shut down WSA
  3. Wait for shutdown to complete
  4. Launch any Android app or WSA Settings to restart
Alternatively, reboot from Magisk Manager as prompted.

Verifying Installation

Confirm BusyBox is working correctly using one of these methods:
  1. Install a root checker app (e.g., Root Checker Basic)
  2. Open the app and run a root check
  3. Verify BusyBox is detected and functional
BusyBox verification

Using BusyBox

Basic Commands

Once installed, BusyBox commands are available in ADB shell:
# List files with details
busybox ls -la /system/app

# Copy files
busybox cp /sdcard/file.txt /sdcard/backup/

# Find files
busybox find /system -name "*.apk"

# Search file contents
busybox grep "error" /sdcard/log.txt
The BusyBox module creates symlinks for all applets, allowing you to use commands directly:
# Instead of:
busybox ls -la

# You can use:
ls -la

# Same for other commands:
grep, wget, ps, etc.

List All Available Commands

busybox --list
This displays all ~300+ utilities included in BusyBox.

Advanced Usage

Shell Scripts

Create and run shell scripts using BusyBox utilities:
backup.sh
#!/system/bin/sh
# Backup script example

BACKUP_DIR="/sdcard/backups"
DATE=$(date +%Y%m%d)

# Create backup directory
mkdir -p "$BACKUP_DIR/$DATE"

# Copy important files
cp -r /sdcard/Documents "$BACKUP_DIR/$DATE/"
cp -r /sdcard/Pictures "$BACKUP_DIR/$DATE/"

echo "Backup completed: $BACKUP_DIR/$DATE"
Run the script:
adb push backup.sh /sdcard/
adb shell
su
sh /sdcard/backup.sh

System Analysis

Analyze system resources and processes:
# Monitor CPU usage
top -n 1

# Check running services
ps | grep -E "system_server|zygote"

# Analyze storage
du -sh /data/app/*

# Watch log output
logcat | grep -E "error|exception"

Troubleshooting

Possible causes:
  • Module not installed correctly
  • WSA not restarted after installation
  • Not running as root
Solutions:
  1. Verify module is enabled in Magisk Manager
  2. Restart WSA completely (not just reboot)
  3. Run su before using BusyBox commands
  4. Check if BusyBox binary exists: ls -la /system/xbin/busybox
Solutions:
  1. Ensure you’re using a Magisk-enabled WSA build
  2. Verify Magisk Manager is working correctly
  3. Try redownloading the module (file might be corrupted)
  4. Check Magisk logs for error messages
  5. Update Magisk if you’re using an old version
Explanation: Not all BusyBox commands work perfectly on Android due to:
  • Different kernel features
  • Android-specific filesystem restrictions
  • SELinux policies
Workarounds:
  • Use Android-native alternatives when available
  • Check command compatibility with busybox --help <command>
  • Some operations require SELinux permissive mode
Solutions:
  1. Ensure you’re running as root: su
  2. Check file/directory permissions: ls -la
  3. Some protected system areas may not be writable even with root
  4. SELinux may be blocking operations (check with getenforce)

BusyBox Alternatives

If you need specific utilities not included in BusyBox:

Termux

Full Linux environment with package manager - install as an app

Toybox

Alternative to BusyBox, included in recent Android versions

Individual Binaries

Compile or download specific tools (wget, curl, etc.)

Magisk Modules

Other modules provide additional command-line tools

Useful BusyBox Modules

Consider installing these complementary Magisk modules:
  • SQLite3: Database management tool
  • Busybox NDK: Compiled with Android NDK for better compatibility
  • Systemless Hosts: Advanced hosts file management
  • Terminal Emulator: Run commands directly in Android

Resources

Need Help?

Join the WSA Community Discord for BusyBox support and advanced usage tips

Build docs developers (and LLMs) love