Repolode
landley

landley/toybox

An all-in-one multicall binary that implements many standard Linux command line utilities in a single, configurable C program.

Stars
3,161
Forks
412
Open issues
143
Last commit
last month

What is it?

Toybox is a single multicall executable that provides a large set of standard Linux command line tools, such as cp, mv, cat and echo. Which commands are included is chosen at build time through a kernel-style configuration system (defconfig, menuconfig), so a build can be kept small for embedded or minimal systems.

The binary behaves differently depending on the name it is invoked by, and running "toybox" with a command name as its first argument works without installing symlinks. Builds can be static and cross-compiled for other architectures, and the project includes a script, mkroot.sh, for assembling a small Linux system that boots to a shell under qemu.

The project is written in C and released under the 0BSD license. Its maintainer accepts patches through a mailing list, and the source is hosted on Codeberg.

Key features

  • 01Bundles many standard Linux commands into one multicall binary.
  • 02Lets you choose included commands through a kernel-style menuconfig build.
  • 03Supports static builds and cross compilation for multiple architectures.
  • 04Includes mkroot.sh for building a minimal bootable Linux system.
  • 05Provides a help command documenting each included tool.

Use cases

  • Building a small root filesystem for embedded devices.
  • Running a minimal set of command line tools on resource-constrained systems.
  • Creating a custom Linux userland with only the commands you need.
  • Testing a Linux system bootstrapped under qemu.

Quick start

  1. 1

    Configure the build with default settings

    make defconfig
  2. 2

    Build toybox

    make
  3. 3

    Install toybox

    make install

In collections

Topics

FAQ

What is toybox?
An all-in-one multicall binary that implements many standard Linux command line utilities in a single, configurable C program. Toybox is a single multicall executable that provides a large set of standard Linux command line tools, such as cp, mv, cat and echo. Which commands are included is chosen at build time through a kernel-style configuration system (defconfig, menuconfig), so a build can be kept small for embedded or minimal systems.
Is toybox free to use? What license does it have?
toybox is open source under the 0BSD license. Check the license terms before using it in commercial products.
Is toybox still maintained?
Updated within 6 months. The last commit to toybox was on Oct 6, 2026.
What can I use toybox for?
Building a small root filesystem for embedded devices. Running a minimal set of command line tools on resource-constrained systems. Creating a custom Linux userland with only the commands you need. Testing a Linux system bootstrapped under qemu.
How do I install toybox?
Configure the build with default settings: make defconfig Build toybox: make Install toybox: make install
Where can I get toybox?
The source code and installation instructions are on GitHub: https://github.com/landley/toybox

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects