
从这一章开始进入 U-Boot 镜像打包机制的最后一站–FIT 镜像。前面几章把 U-Boot 的配置、编译、引导原理都过了一遍,大家已经知道 U-Boot 能把内核从各种介质里加载起来。但实际产品里,内核、设备树、ramdisk、安全固件往往不是一个一个散着传给 U-Boot 的,而是打成一个包–这个\”包\”的格式就是 FIT。这一章要解决四个问题:FIT 和传统 uImage 有什么区别?.its 和 .itb 到底是什么关系?FIT 怎么做签名验证?RK3506 的 FIT 里都塞了哪些东西?建议在终端里先找到 device/rockchip/rk3506/smp.its 这个文件,边听边对着看,会更有感觉。
文章目录
-
- 一、概述
- 二、形象比喻:FIT 镜像就是一盒预制菜料理包
- 三、为什么需要 FIT?
- 四、FIT 镜像结构
- 五、FIT 制作命令
- 六、RK3506 FIT 脚本
- 七、FIT 安全验证
- 📝 本章小结
- 🏠 课后练习
一、概述
搞清楚 FIT 到底是个什么东西。
FIT(Flattened Image Tree)是 U-Boot 的现代镜像格式,它将内核、设备树、ramdisk、固件等多个组件打包进一个文件,并用设备树语法描述其结构。RK3506 全面使用 FIT 镜像。
一个关键点:FIT 用的是设备树语法。换句话说,U-Boot 把设备树那套描述语言借过来描述镜像结构,这对做嵌入式的人来说是好事,因为 dts 语法已经很熟了,学 FIT 几乎没有额外的语法成本。设备树描述硬件拓扑,FIT 用同样的语法描述镜像拓扑–一个是\”板子上有什么硬件\”,一个是\”镜像里有什么组件\”,思路一模一样。RK3506 全面切到 FIT,所以这一章的内容必须吃透,后面看到 .its 文件不能发懵。
学完本章你将能回答:
- FIT 镜像和传统的 uImage / zImage 有什么区别?为什么 RK3506 要用 FIT?
- .its 文件和 .itb 文件分别是什么?如何从 .its 生成 .itb?
- FIT 镜像如何支持 RSA 签名验证?为什么这对产品安全很重要?
- RK3506 的 FIT 镜像里包含了哪些组件(内核、DTB、OP-TEE)?
四个问题分别对应后面第三、五、七、六节。第三个问题–签名验证,是产品量产时安全启动的基础,到第
![Linux 文件系统详解:为什么说一切皆文件?[从零开始学Linux 第二篇]-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261102160953-6ae8b5d196ebc-220x150.png)

