ZHDA242 July   2026 TDA4VE-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
    1. 1.1 动机
    2. 1.2 范围
    3. 1.3 目标引导架构
  5. 背景
    1. 2.1 J721S2 启动流程
    2. 2.2 OSPI NOR 闪存概述
    3. 2.3 UBI 和 UBIFS 概述
  6. OSPI 闪存布局
    1. 3.1 分区布局
    2. 3.2 引导加载程序分区
    3. 3.3 根文件系统分区
  7. 刷写引导元件
    1. 4.1 引导元件概述
    2. 4.2 识别 OSPI MTD 分区
    3. 4.3 将引导元件刷写到 OSPI NOR 闪存中
    4. 4.4 验证引导元件
  8. 创建 UBIFS 根文件系统
    1. 5.1 准备 RootFS 分区
    2. 5.2 创建 UBI 设备
    3. 5.3 创建 UBIFS 卷
    4. 5.4 验证 UBIFS 操作
  9. 将 Linux 引导工件存储在 UBIFS 中
    1. 6.1 挂载 UBIFS 根文件系统卷
    2. 6.2 使用 BusyBox 创建根文件系统结构
    3. 6.3 验证 BusyBox 执行
    4. 6.4 创建 BusyBox 命令链接
    5. 6.5 创建 init 脚本
    6. 6.6 使用 chroot 测试根文件系统
    7. 6.7 复制 Linux 内核映像和 DTB
  10. 从 UBIFS 配置 Linux 引导
    1. 7.1 配置引导参数
    2. 7.2 从 UBIFS 加载内核和 DTB
    3. 7.3 测试 Linux 引导
    4. 7.4 创建可重复使用的引导命令
  11. 完全从 OSPI NOR 闪存引导 Linux
    1. 8.1 自动执行 U-Boot 中的引导序列
    2. 8.2 端到端引导流程
  12. 总结
  13. 10参考资料

根文件系统分区

ospi.rootfs 分区用于存储系统引导所需的所有 Linux 相关软件元件。

与在 eMMC 上存储内核映像、DTB 和根文件系统的传统 J721S2 Linux 系统不同,该实现将所有 Linux 工件存储在位于 OSPI NOR 闪存中的 UBIFS 卷内。

 根文件系统结构图 3-2 根文件系统结构

分区格式化为 UBI 设备,并包含名为 rootfs 的 UBIFS 卷。卷存储以下项目。

  • Linux 内核映像(映像)
  • 设备树 blob (*.dtb)
  • Linux 根文件系统
  • 启动脚本和运行时库

U-Boot 和 Linux 在引导过程中访问同一 UBIFS 卷。U-Boot 从卷中加载内核映像和 DTB,而 Linux 随后将该卷装载为其根文件系统。

在本应用手册所述的实现完成时,OSPI NOR 闪存包含 Linux 引导所需的所有软件元件。

  • tiboot3.bin
  • tispl.bin
  • U-Boot
  • Linux 内核映像
  • 设备树 blob (DTB)
  • Linux 根文件系统

这种架构可实现 Linux 引导,而无需任何 SD/eMMC 存储。