10-U-Boot编译过程详解:三阶段流水线
文章目录一、概述二、形象比喻:同一部书稿的三个版本三、编译命令速查四、三阶段编译流程五、关键编译产物六、编译参数分析七、增量编译技巧📝 本章小结🏠 课后练习上一章拆了 U-Boot 的目录结构,知道了源码放在哪儿、配置文件叫什么。这一章解决一个更落地的问题:U-Boot 到底怎么编出来。这一章是 U-Boot 阶段承上启下的一节,前面是源码结构,后面是 SPL 原理,这章把"从敲 make 到拿到 uboot.img"中间发生的事情讲清楚。开讲前先在终端里把cd u-boot make rk3506_defconfig make -j$(nproc)跑一遍,亲眼看看编译产物长什么样,带着产物来听会更有感觉。一、概述先看概述。U-Boot 编译过程和 Linux 内核很像,都是"先 defconfig 再 make"的套路。但 U-Boot 有个内核没有的特点–因为它要跑在 SRAM 这种极其受限的环境里,所以搞出了 SPL 和 TPL 这两个"缩小版"。结果是,一条make命令背后其实是三次独立编译,分别产生三个阶段的二进制。这就是本章的核心问题。U-Boot 编译过程与 Linux 内核类似,但因为 SPL 和 TPL 的存在,实际上是三次独立编译,分别产生不同阶段的二进制文件。学完本章你将能回答:为什么一个make命令会产生 TPL、SPL、U-Boot Proper 三个不同的二进制?u-boot.bin、u-boot.img、u-boot-