01
Buildroot初探
什么是Buildroot?为什么选择Buildroot?对比Yocto/OpenWrt
概念对比
02
环境搭建
Ubuntu安装依赖、下载源码、首次编译体验
Ubuntu编译
03
配置工具链
内部/外部工具链、glibc/uclibc/musl、内核头文件
工具链C库
04
配置Bootloader
U-Boot、ATF配置、裸机启动流程
U-BootATF
05
配置Linux内核
内核源码管理、defconfig、设备树配置
内核设备树
06
根文件系统 (上)
BusyBox配置、init系统选择 (BusyBox/System V/systemd)
BusyBoxinit
07
根文件系统 (下)
ext4/squashfs/initramfs、rootfs overlay
文件系统overlay
08
软件包管理
.mk框架、Kconfig配置、添加自定义软件包
软件包Kconfig
09
外部机制 BR2_EXTERNAL
外部项目目录、私有包管理、多项目复用
BR2_EXTERNAL复用
10
设备树详解
语法、绑定文档、为自定义板卡编写设备树
设备树语法
11
U-Boot定制
配置编译、环境变量、自定义启动脚本
U-Boot启动脚本
12
Linux内核驱动集成
模块编译(内置/模块)、设备树匹配、加载模块
驱动模块
13
文件系统覆盖层与后构建脚本
rootfs overlay实战、post-build/post-image脚本
overlaypost-build
14
生成文件系统镜像
SD卡镜像、烧录镜像、sdcard.img制作
镜像SD卡
15
调试与日志
构建日志分析、menuconfig调试、编译错误排查
调试日志
16
网络配置
静态IP/DHCP、Wi-Fi驱动、NetworkManager/connman
网络Wi-Fi
17
图形界面集成
Qt5/Qt6、LVGL、SDL2、DRM/FBDEV显示驱动
QtLVGLDRM
18
音频与多媒体
ALSA、GStreamer、FFmpeg、音频编解码器
ALSAGStreamer
19
Python与脚本语言
Python3、Lua/Perl、pip离线包管理
PythonLua
20
数据库与存储
SQLite、MySQL/PostgreSQL客户端、文件系统性能优化
SQLite数据库
21
安全机制
SELinux/AppArmor、SSH、iptables/nftables防火墙
安全SELinux
22
实时性优化
PREEMPT_RT内核、实时线程优先级、cyclictest
实时PREEMPT_RT
23
系统大小优化
去除调试符号、strip策略、BusyBox精简、squashfs
优化大小
24
启动时间优化
U-Boot/内核/init优化、启动时间测量
启动优化
25
多架构支持
ARM/AArch64/MIPS/RISC-V/x86_64配置差异与实战
ARMRISC-VMIPS
26
版本管理与持续集成
Buildroot版本、Git外部树、GitLab CI/CD自动构建
GitCI/CD
27
补丁管理
内核/U-Boot/软件包补丁、补丁序列管理
补丁序列
28
生产环境部署
固件签名、安全启动、OTA (SWUpdate/RAUC)、生产烧录
OTA安全启动
29
实战项目1:树莓派3B+智能家居网关
从零构建完整系统
树莓派网关
30
实战项目2:STM32MP157工业数据采集终端
Buildroot全流程实战
STM32MP157工业