This document provides a comprehensive overview of the partitions of all boot devices on SP7350 platform.
SPI-NOR flash
SP7350 supports two kinds of root file-system for SPI-NOR flash. One is initramfs (initial ram file-system) file-system and the other is jffs2 (journalling flash file system version 2) file-system.
Initramfs File-System
The initramfs file-system is a RAM-based file system seamlessly integrated into the kernel image. Despite modifications to the root file-system during Linux operations, the kernel image stored in the SPI-NOR flash remains unaffected. This compressed file-system boasts high capacity, providing efficiency in storage utilization for the same root file-system size in flash.
Jffs2 File-System
In contrast, the jffs2 file-system resides in a dedicated partition within the SPI-NOR flash. Any alterations made to the root file-system are committed to the SPI-NOR flash. It's important to note that the performance of the jffs2 file-system may be suboptimal due to the necessity to read and modify the flash.
Partitions
Refer to figure of partitions of SPI-NOR flash below:
Note
For those seeking to adjust partitions, it is crucial to update the definition of the environment variable 'mtdparts' in U-Boot. This adjustment can be made in the header file located at:
boot/uboot/include/configs/pentagram_common_sp7350.h
The existing mtdparts is as follows:
mtdparts=f8000b00.spinor:96k@0(iboot)ro,192k(xboot)ro,128k(dtb)ro,768k(uboot)ro,864k(fip)ro,0x${sz_kernel}(kernel),-(rootfs);
SPI-NAND & 8-bit NAND flash
SP7350 supports ubifs (unsorted block image file-system) file-system as root file-system.
Standard 2k sector
Partitions, env, env_redund, dtb, kernel and rootfs, use standard 2k sector. 2048 bytes data plus 64 bytes parity comprise the sector. Each 512 bytes has 16 bits parity and is able to correct 4 errors.
1K60 sector
Partitions, nand_header, xboot1, uboot1, uboot2 and fip, use 1K60 sector. 1024 bytes data plus 105 bytes parity comprise the sector and stored in standard 2k sector. It is able to correct 60 bits in 1024 bytes of data. It has higher ability for error correction than standard sector.
Parititions
Refer to figure of partitions of SPI-NAND flash below:
Note
If you want to adjust partitions, please remember to modify define MTDPARTS_DEFAULT in file: 'boot/uboot/include/configs/pentagram_common_sp7350.h'
#define MTDPARTS_DEFAULT sp_spinand.0:128k(nand_header),384k(xboot1),1664k(uboot1),1920k(uboot2),2m(fip),512k(env),512k(env_redund),256k(dtb),25m(kernel),32536k(rootfs)
Refer to struct BootProfileHeader defined in xboot/include/nand_boot/nandop.h for Boot Profile Header.
8-bit NAND flash
Note:
If you want to adjust partitions, please remember to modify define MTDPARTS_DEFAULT in file: 'boot/uboot/include/configs/pentagram_common_sp7350.h'
#define MTDPARTS_DEFAULT sp_paranand.0:128k(nand_header),384k(xboot1),1664k(uboot1),1920k(uboot2),2m(fip),512k(env),512k(env_redund),256k(dtb),25m(kernel),32536k(rootfs)
Refer to struct BootProfileHeader defined in xboot/include/nand_boot/nandop.h for Boot Profile Header.
eMMC device
SD card
Files in boot partition
Refer to table below for files in root directory in boot partition:
File name | Descriptions |
---|---|
ISPBOOOT.BIN | x-boot image |
fip.img | fip image which includes TF-A and OP-TEE images |
u-boot.img | U-Boot image |
uEnv.txt | uenvcmd command of U-Boot |
uImage | Linux kernel image (with U-Boot header) |