bb
Bitbake build tool for embedded Linux
TLDR
Evaluate an expression
Evaluate a script file
Bind [i]nput to a sequence of lines from stdin
Bind [I]nput to a sequence of EDN (Extensible Data Notation) values from stdin
SYNOPSIS
bb [applet] [arguments]...
bb [--help] [--list] [--list-full] [--install[-s] DIR]
PARAMETERS
--help
Display usage summary and all applet options
--list
List names of available applets
--list-full
List applets with short descriptions
--install DIR
Create hard links to applets in directory DIR
--install -s DIR
Create soft symlinks to applets in directory DIR
DESCRIPTION
The bb command is typically the BusyBox executable renamed or symlinked as bb, common in embedded Linux systems. BusyBox combines dozens of minimal Unix utilities (applets) into a single ~1-2MB binary, ideal for resource-limited environments like routers, IoT devices, and initramfs.
Running bb without arguments shows usage and applet list. Invoke via bb <applet> <args>, e.g., bb ls -l or bb sh. Symlinks (e.g., /bin/ls -> bb) allow direct use. Applets mimic GNU coreutils but with fewer features for compactness. Supports POSIX compliance in tiny footprint. Widely used in OpenWRT, Android recovery, and bootloaders.
CAVEATS
Not standard in desktop Linux (use busybox); applet features reduced vs. full tools; running bb directly requires applet name unless symlinked.
COMMON APPLETS
Includes ls, cat, grep, cp, mv, sh, ps, mount; full list via bb --list (200+ in full builds).
EXAMPLE USAGE
bb ls /proc lists processes; bb sh starts shell; bb --install /bin sets up symlinks.
HISTORY
Created 1996 by Erik Andersen for embedded Linux; first release 1998. Evolved for Linux From Scratch, now v1.36+ maintained by Denys Vlasenko. Key in Android, embedded distros like Buildroot.


