busybox 裁剪参考


1. 制作工具

Busybox源码下载地址是https://busybox.net/downloads/

ex:下载busybox-1.20.2.tar.bz2 版本 PS:需要使用该版本,合入附件busybox_SS.patch

wget https://busybox.net/downloads/busybox-1.20.2.tar.bz2


1.1 配置环境

export PATH=$PATH:/tools/toolchain/gcc-10.2.1-20210303-sigmastar-glibc-x86_64_aarch64-linux-gnu/bin;export CROSS_COMPILE=aarch64-linux-gnu-;export ARCH=arm64

1.2 编译busybox

tar -xvf busybox-1.20.2.tar.bz2

cd busybox-1.20.2

patch -p1 < busybox_SS.patch

make sstar_alkaid_arm-aarch64-linux-gnu-glibc_defconfig

make install

在_install/ 生成如下文件

cd _install/

tar -czf busybox-1.20.2-aarch64-linux-gnu-glibc-10.2.1-dynamic.tar.gz *

此处要生成的文件名应该根据busybox将在什么平台环境下运行而决定

通过project/configs/demo/defconfigs下对应的deconfig看到:

拷贝busybox-1.20.2-aarch64-linux-gnu-glibc-10.2.1-dynamic.tar.gz 到 project/image/busybox/

make image-fast 重新生成image 烧录


2. busybox 裁剪参考

2.1 根据busybox 主选项进行分类

配置选项 占用空间 功能描述
CONFIG_DESKTOP 8K 开启一些非必要的配置以兼容桌面系统
CONFIG_FEATURE_NON_POSIX_CP \ Non-POSIX标准cp命令
CONFIG_FEATURE_PIDFILE \ pid文件生成路径
CONFIG_FEATURE_SUID \ 开启root权限管理
CONFIG_FEATURE_UTMP \ 用于记录当前登录用户, who功能会使用到
CONFIG_FLOAT_DURATION \ 使applets支持浮点, 例如:sleep N.NNN
CONFIG_INCLUDE_SUSv2 \ 开启UNIX 98支持
CONFIG_SHOW_USAGE 7K applets 帮助信息
CONFIG_STACK_OPTIMIZATION_386 \ i386架构stack-boundary=2

2.2 按照 Applets 显示顺序进行排序

下列为busybox工具的支持配置, 可以根据需要选择是否开启

选项名称 模块描述
Archival Utilities 各类压缩格式以及压缩工具的配置
Coreutils 系统常用工具的配置
Console Utilities 控制台工具配置
Debian Utilities Debian 系统工具
klibc-utils klibc 工具,包括minips(ps), nuke(rm -rf) , resume, run-init
Editors 编辑工具, 包括sed, awk, vi等
Finding Utilities find, grep, xargs 等工具功能的配置
Init Utilities 系统初始化工具, 包括reboot, poweroff,halt等
Login/Password Management Utilities 登录以及密码管理工具
nux Ext2 FS Progs Ext2 文件系统管理相关工具
Linux Module Utilities linux 模块管理, insmod/rmmod/modprobe等
Linux System Utilities linux 系统管理工具
Miscellaneous Utilities 杂项类工具
Networking Utilities 网络管理工具, 可配置Ipv4/ipv6支持,以及tftp, telnetd等工具的支持
Print Utilities 打印机工具,包括lpd/lpr/lpq 工具
Mail Utilities 邮件相关工具
Process Utilities 进程管理工具, 包括free, kill, top, watch等
Runit Utilities runit 套件的支持
Shells 包括ash, 以及hush两种shell的支持
System Logging Utilities 系统log工具的支持