📘 Buildroot · 嵌入式实战
基于Buildroot的嵌入式软件包管理 · 30章
风格 · 明快课程
01
Buildroot初识
入门
什么是Buildroot · 对比Yocto/OpenWrt · 第一个项目
➔
02
环境搭建
Ubuntu
Linux主机准备 · 依赖包 · 获取源码 · 目录结构
➔
03
配置Buildroot
make menuconfig · Target/Build/Toolchain选项
➔
04
系统配置
System config · rootfs skeleton · inittab · 主机名
➔
05
内核配置
Kernel入口 · 预定义配置 · 自定义选项 · 模块管理
➔
06
Bootloader配置
U-Boot · AT91Boot · 命令自定义 · 分区表
➔
07
软件包管理基础
配置菜单 · 选择包 · 依赖关系 · 版本选择
➔
08
软件包配置详解
Config.in结构 · 依赖/冲突 · 条件编译 · 选项类型
➔
09
软件包Makefile编写
.mk结构 · 版本/源码 · 编译选项 · 安装目标
➔
10
软件包下载机制
wget/git/svn · 自定义URL · 补丁管理 · 校验和
➔
11
软件包补丁管理
补丁目录 · 生成/应用补丁 · 版本管理
➔
12
软件包依赖处理
运行时/编译时依赖 · 条件依赖 · 循环解决
➔
13
软件包许可证管理
许可证定义 · 合规检查 · 清单生成 · 常见问题
➔
14
文件系统覆盖
rootfs-overlay · 启动脚本 · 配置文件覆盖 · 权限
➔
15
Post-build脚本
作用 · 编写 · 传递参数 · 常见用例
➔
16
Post-image脚本
镜像后处理 · 烧录脚本 · 自定义镜像格式
➔
17
文件系统类型选择
ext4/squashfs/jffs2/ubifs · 对比 · 配置
➔
18
生成镜像
make详解 · 编译监控 · 输出目录 · 镜像格式
➔
19
外部工具链
使用原因 · 配置外部工具链 · 自定义 · 验证
➔
20
交叉编译环境
Buildroot工具 · 环境变量 · 独立使用 · 测试
➔
21
软件包调试
调试选项 · GDB集成 · strace/ltrace · 编译日志
➔
22
软件包大小优化
strip · 去除调试 · musl替代glibc · busybox精简
➔
23
启动时间优化
测量启动 · 内核大小 · init优化 · 并行服务
➔
24
安全加固
移除不必要包 · 防火墙 · SSH安全 · 权限
➔
25
软件包版本锁定
锁定版本 · 自定义版本 · 回退 · 兼容性
➔
26
软件包本地源码
本地目录 · 开发调试 · 增量编译 · 避免重复下载
➔
27
补丁管理进阶
补丁系列 · 排序 · 冲突解决 · 回退
➔
28
软件包测试
单元测试 · 运行时测试 · 回归测试 · 自动化
➔
29
软件包发布
发布包 · 版本号 · 更新日志 · 检查清单
➔
30
实战项目
🚀 路由器/网关
完整嵌入式Linux系统 · 从零配置 · 自定义包 · 烧录镜像
➔