SDAA437 July   2026 TDA4VE-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1 Introduction
    1. 1.1 Motivation
    2. 1.2 Scope
    3. 1.3 Target Boot Architecture
  5. 2 Background
    1. 2.1 J721S2 Boot Flow
    2. 2.2 OSPI NOR Flash Overview
    3. 2.3 UBI and UBIFS Overview
  6. 3 OSPI Flash Layout
    1. 3.1 Partition Layout
    2. 3.2 Bootloader Partitions
    3. 3.3 Root Filesystem Partition
  7. 4 Flashing Boot Components
    1. 4.1 Boot Components Overview
    2. 4.2 Identifying OSPI MTD Partitions
    3. 4.3 Flashing Boot Components into OSPI NOR Flash
    4. 4.4 Verifying Boot Components
  8. 5 Creating a UBIFS Root Filesystem
    1. 5.1 Preparing the RootFS Partition
    2. 5.2 Creating a UBI Device
    3. 5.3 Creating a UBIFS Volume
    4. 5.4 Verifying UBIFS Operation
  9. 6 Storing Linux Boot Artifacts in UBIFS
    1. 6.1 Mounting the UBIFS Root Filesystem Volume
    2. 6.2 Creating the Root Filesystem Structure with BusyBox
    3. 6.3 Verifying BusyBox Execution
    4. 6.4 Creating BusyBox Command Links
    5. 6.5 Creating the init Script
    6. 6.6 Testing the Root Filesystem Using chroot
    7. 6.7 Copying the Linux Kernel Image and DTB
  10. 7 Configuring Linux Boot from UBIFS
    1. 7.1 Configuring Boot Arguments
    2. 7.2 Loading the Kernel and DTB from UBIFS
    3. 7.3 Testing Linux Boot
    4. 7.4 Creating a Reusable Boot Command
  11. 8 Booting Linux Entirely from OSPI NOR Flash
    1. 8.1 Automating the Boot Sequence in U-Boot
    2. 8.2 End-to-End Boot Flow
  12. 9 Summary
  13. 10References

OSPI NOR Flash Overview

OSPI NOR flash is commonly used on J721S2 platforms to store bootloader components because it supports direct access by the ROM Bootloader and provides reliable non-volatile storage.

Compared to eMMC devices, OSPI NOR flash typically offers lower storage capacity but provides a simpler storage architecture for embedded systems. A single OSPI device can contain bootloader images, Linux boot artifacts, and a root filesystem if the available capacity is sufficient.

In this implementation, a 64-MB OSPI NOR flash device is used. The flash is partitioned to store the following items.

  • tiboot3.bin
  • tispl.bin
  • u-boot.img
  • U-Boot environment
  • UBI/UBIFS root filesystem volume

The Linux kernel image, DTB, and root filesystem are all stored within the UBI/UBIFS partition.