Repolode
landley

landley/toybox

把常用 Linux 命令行工具合并进单个可配置 C 程序的多调用二进制。

Star
3,161
Fork
412
未关闭 Issue
143
最近提交
上个月

这是什么?

Toybox 是一个多调用(multicall)可执行文件,把 cp、mv、cat、echo 等大量标准 Linux 命令行工具整合在一起。编译时可以像配置 Linux 内核一样通过 defconfig、menuconfig 选择需要的命令,从而为嵌入式或精简系统裁剪出体积较小的版本。

同一个二进制会根据被调用时的名字表现出不同的行为,也可以直接用 "toybox 命令名" 的方式运行而无需安装符号链接。项目支持静态编译和交叉编译到其他架构,并提供 mkroot.sh 脚本,用于组装一个可在 qemu 中启动到 shell 的小型 Linux 系统。

项目使用 C 语言编写,采用 0BSD 许可证,维护者通过邮件列表接收补丁,源码托管在 Codeberg 上。

核心功能

  • 01将大量标准 Linux 命令整合进一个多调用二进制。
  • 02通过类似内核的 menuconfig 选择需要编译的命令。
  • 03支持静态编译和多架构交叉编译。
  • 04提供 mkroot.sh 脚本,用于构建精简的可启动 Linux 系统。
  • 05内置 help 命令,可查看每个工具的说明。

适用场景

  • 为嵌入式设备构建体积较小的根文件系统。
  • 在资源受限的系统上运行一组精简的命令行工具。
  • 按需组合命令,定制自己的 Linux 用户空间。
  • 在 qemu 中启动和测试自举的 Linux 系统。

快速上手

  1. 1

    使用默认设置配置构建

    make defconfig
  2. 2

    编译 toybox

    make
  3. 3

    安装 toybox

    make install

收录于专题

标签

常见问题

toybox 是什么?
把常用 Linux 命令行工具合并进单个可配置 C 程序的多调用二进制。 Toybox 是一个多调用(multicall)可执行文件,把 cp、mv、cat、echo 等大量标准 Linux 命令行工具整合在一起。编译时可以像配置 Linux 内核一样通过 defconfig、menuconfig 选择需要的命令,从而为嵌入式或精简系统裁剪出体积较小的版本。
toybox 可以免费使用吗?用的什么许可证?
toybox 以 0BSD 许可证开源。用于商业产品前,请先确认许可证条款。
toybox 还在维护吗?
半年内有更新。toybox 最近一次提交是在 2026年10月6日。
toybox 适合用来做什么?
为嵌入式设备构建体积较小的根文件系统。 在资源受限的系统上运行一组精简的命令行工具。 按需组合命令,定制自己的 Linux 用户空间。 在 qemu 中启动和测试自举的 Linux 系统。
toybox 怎么安装和运行?
使用默认设置配置构建: make defconfig 编译 toybox: make 安装 toybox: make install
在哪里获取 toybox?
源代码和安装说明在 GitHub 上:https://github.com/landley/toybox

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目