01
Buildroot概述
什么是Buildroot · 核心价值 · 与Yocto/OpenWrt对比
概念对比
02
环境准备
安装依赖(Ubuntu/Debian) · 下载源码 · 目录结构
工具链下载
03
快速上手
make menuconfig · 目标架构(ARM) · 树莓派3B · make编译
编译树莓派
04
输出产物分析
output/images目录 · zImage/rootfs.cpio/ext4/dtb
镜像内核
05
最小系统构建
配置Busybox/rootfs/内核 · 生成最小系统镜像
最小系统Busybox
06
文件系统定制
添加SSH(Dropbear) · 网络工具(iperf) · 开发工具(gcc/gdb)
SSH工具
07
内核配置与裁剪
linux-menuconfig · USB/WiFi/I2C/SPI驱动 · 模块管理
内核驱动
08
U-Boot配置与编译
源码管理 · 树莓派3B配置 · 编译烧录
U-Boot启动
09
设备树 (Device Tree)
基础语法 · dts/dtsi/dtb · 为树莓派添加自定义节点
设备树硬件
10
根文件系统覆盖
Rootfs Overlay概念 · 创建overlay目录 · 添加配置/脚本
overlay定制
11
Post-build/Post-image脚本
post-build.sh · post-image.sh · 自动修改rootfs
脚本自动化
12
外部树 (External Tree)
为什么需要外部树 · 创建结构 · 添加自定义软件包
外部树扩展
13
自定义软件包 (BR2_PACKAGE)
Makefile规范 · Config.in · 源码包与补丁
软件包Makefile
14
补丁管理
创建/应用补丁 · 目录结构 · 使用Git管理
补丁Git
15
交叉编译工具链
内部工具链 · 外部工具链配置 · 验证
工具链交叉编译
16
GDB调试
配置GDB Server/Client · 远程调试实战
调试GDB
17
性能优化
编译优化(-O2/-Os) · LTO · strip/sstrip
优化LTO
18
空间优化
删除无用包 · Busybox特性 · squashfs文件系统
空间squashfs
19
启动时间优化
内核启动参数 · initramfs · 优化U-Boot启动
启动initramfs
20
WiFi与蓝牙配置
内核WiFi驱动 · wpa_supplicant · BlueZ蓝牙协议栈
WiFi蓝牙
21
音频与视频支持
ALSA音频 · FFmpeg · GStreamer
音视频ALSA
22
QT5图形界面
配置QT5 · 触摸屏支持 · 运行QT5示例
QT5GUI
23
Python3运行环境
配置Python3 · pip安装包 · 运行脚本
Python脚本
24
Node.js运行环境
配置Node.js · npm包 · 运行应用
Node.jsnpm
25
Docker容器支持
配置Docker · containerd · 运行容器
Docker容器
26
系统更新与OTA
swupdate · OTA服务器 · 远程升级
OTA升级
27
安全加固
SELinux · AppArmor · iptables防火墙
安全防火墙
28
生产部署
只读文件系统 · logrotate · watchdog
部署看门狗
29
常见问题与调试
编译错误排查 · 运行时调试 · QEMU模拟
调试QEMU
30
实战项目:智能家居网关
MQTT + Web服务器 + 数据库 · 完整系统
项目网关