repo
Google 开发的 Git 仓库管理工具,用于简化包含多个 Git 仓库的大型项目(如 Android、某些 BSP)的同步和管理。通过 manifest 文件统一管理多个仓库的版本。
git
分布式版本控制系统,广泛用于源码管理。开发者用来克隆、提交、分支、合并代码。
ssh
Secure Shell 协议及客户端,用于远程登录和安全传输文件。常用于访问 Git 服务器或远程调试设备。
build-essential
一个“元包”,安装它会一次性包含 GCC/G++ 编译器、GNU make 等编译C/C++代码所必需的基础工具包。
make
自动化构建工具,通过读取 Makefile 文件来执行编译、链接等任务,是大多数开源项目的构建核心。
gcc/g++
GNU 编译器套件,分别用于编译 C 和 C++ 代码。在交叉编译环境中会使用带前缀的版本(如 aarch64-linux-gnu-gcc)。
libssl-dev
OpenSSL 库的开发包,包含 SSL/TLS 相关的头文件和静态库,用于编译需要加密功能的软件(如 HTTPS、SSH 客户端)。
liblz4-tool
LZ4 压缩算法的命令行工具和库,提供极速压缩和解压,常用于构建过程中的镜像压缩或实时数据传输。
expect
自动化交互式应用程序的工具,通过脚本模拟用户输入。可用于自动配置、测试或与命令行程序交互。
patchelf
修改 ELF 可执行文件的动态链接器和 RPATH/RUNPATH 的工具。在打包或调整二进制文件时常用,例如为交叉编译的二进制设置正确的库路径。
chrpath
类似 patchelf,专门用于修改 ELF 文件的 RPATH(运行时库搜索路径)。可用于移除或更改二进制中的硬编码路径。
gawk
GNU awk,文本处理工具。在构建脚本中常用于解析文件、生成配置等。
texinfo
GNU 文档系统,用于生成 Info 格式的帮助文档。编译某些 GNU 软件(如 gcc)时需要其生成文档。
diffstat
读取 diff 输出并生成统计信息(如修改了多少行、多少文件)。在查看补丁影响时有用。
binfmt-support
内核二进制格式支持模块,配合 qemu-user-static 可以在主机上直接运行其他架构的二进制程序(通过配置内核识别并调用解释器)。
qemu-user-static
QEMU 的用户模式模拟器,可以为不同架构(如 ARM、AArch64)执行用户空间程序。结合 binfmt-support,能在 x86 主机上透明运行目标架构的二进制文件(如构建过程中的测试或交叉编译辅助)。
live-build
Debian Live 项目的工具集,用于构建 Live 系统镜像(ISO、USB 镜像等)。在某些构建环境中可能用于生成基础根文件系统。
bison/flex
分别是 GNU 的解析器生成器(Yacc 替代)和词法分析器生成器(Lex 替代)。在编译需要解析语法的软件(如编译器、复杂配置工具)时必需。
fakeroot
伪造 root 权限的工具,允许普通用户在构建文件系统镜像时以 root 身份创建文件并设置权限,最终生成的镜像包含正确的属主和权限。
cmake
跨平台构建系统,使用 CMakeLists.txt 配置文件生成原生构建文件(如 Makefile)。越来越多的项目采用 CMake 构建。
gcc-multilib/g++-multilib
在 64 位主机上提供编译 32 位程序的库和头文件。如果构建系统需要生成 32 位目标或主机工具需要 32 位库,就需要安装。
unzip
解压 ZIP 文件的工具,常用于解压源码包或资源文件。
device-tree-compiler
设备树编译器(dtc),将设备树源文件(.dts)编译成二进制设备树(.dtb),用于 Linux 内核描述硬件。
python-pip
Python 包管理工具,用于安装 Python 软件包。许多构建脚本(如某些 BSP 的辅助工具)可能需要 Python 依赖。
ncurses-dev
NCurses 库的开发文件,用于编写终端界面程序(如 menuconfig 配置界面)。Buildroot 和内核的配置界面都依赖它。
pyelftools
Python 库,用于解析 ELF 文件。常用于分析二进制文件、提取符号信息或调试构建过程。
aarch64-linux-gnu-xxx
交叉编译工具链,用来生成嵌入式平台的Linux系统固件。
aarch64-buildroot-linux-gnu-
buildroot自己的交叉编译工具链。
curl
强大的命令行网络工具,支持多种协议。常用于通过URL下载文件、与服务器接口交互,或用来测试网络连接。
bc
一门命令行计算器语言,常出现在编译脚本中,用于处理数值计算。
gnupg
即 GnuPG(GNU隐私保护),用于加密、签名通信内容和文件,也可用来验证下载文件的数字签名,确保源码的完整性和真实性。
这些工具通常通过包管理器(如 apt)安装,是构建嵌入式 Linux 系统(尤其是基于 Buildroot 或 Yocto 的环境)的常见依赖。