
文章目录一、概述二、形象比喻:物流分拣中心三、构建流水线全景四、setup_environments -- 环境初始化关键路径速查五、四阶段钩子机制5.1 钩子调度核心5.2 四阶段详解5.4 parse_scripts -- 命令清单的自愈生成5.5 构建脚本定位六、常用构建命令七、main() 函数执行流程📝 本章小结构建流程关键阶段🏠 课后练习上一章把 SDK 的目录结构看了一遍,知道每个目录装什么。这章往里走一层,看 SDK 到底怎么"动起来"–你敲下./build.sh回车之后,背后发生了什么。这章是整个 SDK 学习的"骨架",后面所有和编译相关的内容,不管是改 U-Boot、改内核还是改 rootfs,都得先搞懂这个框架。四个问题:build.sh和顶层Makefile是什么关系,为什么有两个总入口;四阶段流水线各做了什么,失败了怎么从日志定位;只改了内核能不能只编内核;./build.sh uboot、./build.sh kernel、./build.sh rootfs这几条命令分别干了什么、脚本在哪。开讲前先在终端把 SDK 目录打开,对照源码看,讲到哪个函数就去grep一下,印象会深很多。一、概述RK3506 SDK 的编译由一个 789 行的build.sh主宰,它实现了一套四阶段钩子流水线(init - pre-build - build - post-build),每个阶段自动调用device/rockchip/common/scripts/mk-*.sh脚本编译对应组件。理解这个框架是高效开发和排错的基础。顺带说一句,第一章讲目录时这个行数写的是 788,行数以你手上 SDK 的wc -l输出为准,差一行不影响理解。