01
BusyBox概述
什么是BusyBox · 起源与设计哲学 · 嵌入式地位
概念背景
02
编译环境搭建
交叉工具链 · Kconfig/Makefile · 构建目录规划
工具链环境
03
依赖关系基础
软件依赖 · 静态/动态链接 · 模块化依赖模型
理论链接
04
Kconfig依赖机制
depends on · select与imply · 条件依赖技巧
Kconfig配置
05
Makefile依赖追踪
.d文件 · 递归make · 增量编译检查
Makefile增量
06
头文件依赖分析
包含路径 · 自动依赖生成 · 重编译策略
头文件编译
07
库依赖处理
静态/动态库 · pkg-config · 链接顺序
库链接
08
核心工具依赖分析
init/shell · coreutils · 文件系统工具
核心依赖链
09
网络工具依赖分析
ifconfig/route · telnetd/httpd · DNS解析
网络服务
10
进程管理工具依赖
ps/top · kill/nice · crontab/syslogd
进程管理
11
文件系统工具依赖
mount/umount · fdisk/mkfs · tar/gzip
文件系统存储
12
文本处理工具依赖
grep/sed · awk/cut · sort/uniq
文本处理
13
Shell内置命令依赖
cd/export · alias/history · job control
Shell内置
14
模块间循环依赖
产生原因 · Kconfig打破 · 重构解决
循环重构
15
依赖裁剪策略
最小化原则 · 按需裁剪 · 分层方法
策略裁剪
16
依赖分析工具
readelf/objdump · ldd/nm · graphviz
工具可视化
17
自动化依赖检测
脚本扫描 · Makefile自动生成 · CI/CD检查
自动化CI
18
依赖冲突解决
符号冲突 · 版本兼容 · 多重定义
冲突ABI
19
条件编译与依赖
宏定义 · 条件隐藏 · config.h控制
条件编译宏
20
依赖与大小优化
去除无用依赖 · 功能合并 · 极限案例
大小优化
21
依赖与性能权衡
启动速度 · 动态/静态 · 内存占用
性能权衡
22
多架构依赖处理
CPU差异 · 大小端 · 浮点ABI
架构交叉
23
第三方库依赖
zlib/openssl · pthread/librt · ncurses
第三方库
24
依赖测试与验证
功能测试 · 运行时错误 · 回归检查
测试验证
25
依赖文档化
关系图生成 · 说明文档 · 变更追踪
文档可视化
26
实战案例一:最小化HTTP服务器
依赖分析 · 裁剪过程 · 结果对比
实战HTTP
27
实战案例二:嵌入式路由器固件
依赖分析 · 裁剪过程 · 结果对比
实战路由器
28
实战案例三:IoT传感器节点
依赖分析 · 裁剪过程 · 结果对比
实战IoT
29
常见问题与排错
链接错误 · 缺少符号 · 循环调试
排错调试
30
总结与进阶
最佳实践 · 社区资源 · 学习路径
总结进阶