How to build SP7021 Linux image for booting from eMMC device

The goal of the document is to illustrate how to build SP7021 Linux image for booting from eMMC device on SP7021 boards, and how to write SP7021 images to the eMMC device.

First, you need to get source files of SP7021 from git server of SP7021. Second, you need to run make to build all images of SP7021. After make processes complete successfully, it will create a binary file named ISPBOOOT.BIN. This binary file is packed with all necessary codes and images to write to the eMMC device. Third, you need to copy the built ISPBOOOT.BIN file to root directory of an USB flash drive. Finally, plug the USB flash drive into an USB socket of SP7021 board, set DIP-SW to “boot from USB”, and turn on power of the SP7021 board. After power-on, SP7021 will load and run ISPBOOOT.BIN. The codes, in ISPBOOOT.BIN, will then take control and write all images to eMMC device. After completing writing images to eMMC, please set DIP-SW to “boot from eMMC”.

Now you are ready to turn off and on SP7021 power again to boot Linux from eMMC device. For details, please follow the following steps.

1. Download source files

Source files of SP7021 can be downloaded from GitHub or Yocto server of SP7021. Refer to https://github.com/sunplus-plus1/SP7021 or 2. HOW TO GET SOURCE FILE AND PACKAGE. Refer to report of ll command for the contents of top folder of source of SP7021:

wellslu@scdiu3:~/q628/emmc$ ll total 52 drwxr-xr-x 12 wellslu sp 4096 Oct 15 12:02 ./ drwxr-xr-x 19 wellslu sp 4096 Oct 15 12:02 ../ drwxr-xr-x 8 wellslu sp 4096 Dec 4 2019 boot/ drwxr-xr-x 4 wellslu sp 4096 Aug 25 18:34 build/ drwxr-xr-x 7 wellslu sp 4096 Jul 27 12:19 crossgcc/ drwxr-xr-x 6 wellslu sp 4096 Sep 9 2019 eCos/ drwxr-xr-x 9 wellslu sp 4096 Jun 5 16:51 freertos/ drwxr-xr-x 8 wellslu sp 4096 Aug 11 17:28 ipack/ drwxr-xr-x 7 wellslu sp 4096 Sep 9 2019 linux/ -r--r--r-- 1 wellslu sp 23 Sep 9 2019 Makefile drwxr-xr-x 4 wellslu sp 4096 Jul 3 14:01 nonos/ drwxr-xr-x 7 wellslu sp 4096 Sep 9 2019 .repo/ drwxr-xr-x 3 wellslu sp 4096 Jun 29 15:39 yocto/

2. Configure environment

Run make config command on top folder. After configuration menu pops up, first, choose board you want to build image for. For example, press 4 to choose “SP7021 Demo Board (V3)”. Second, press 1 to choose to boot from eMMC device and then press enter to start to configure building environment. Refer to screenshot below,

make config starts to build compiler environment. It may take a few minutes. Please wait for make config completing the processes.

3. Build all images and ISP files

Run make all command to start to create all images of SP7021. It may take several minutes to complete. After make all completes, you will see screen like:

From information on screen, 7 partitions are created (in the binary ISPBOOOT.BIN). For example, size of uboot2 partition is 0x60c00 (396,288 bytes). The maximum allowable size of uboot2 is 0x100000 (1,048,576 bytes). 37.79% of maximum size is used. Size of dtb partition is 0x5000 (20,480 bytes). Size of kernel partition is 0x3e6c00 (4,090,880 bytes). Size of rootfs partition is 0xfce000 (16,572,416 bytes).

4. List of built images

All built image files are stored at folder out. Refer to screenshot of output of ll out command:

xboot.img is an image file of x-boot. x-boot is the first stage boot-loader. It is the first code SP7021 loads and runs when SP7021 is powered on. When it takes control, it loads and runs u-boot. u-boot.img is an image file of u-boot. u-boot is the second stage boot-loader. When it takes control, It loads and runs Linux kernel image. uImage is an image file of compressed Linux kernel with u-boot header. rootfs.img is an image file of root file-system of Linux. dtb is device-tree blob file. a926.img is an image file for processor A926. Processor A926 is designed for taking care of real-time tasks. x-boot, u-boot, and all other images are packed into binary file ISPBOOOT.BIN.

5. Copy ISPBOOOT.BIN to an USB flash drive

Copy the built ISPBOOOT.BIN file to root directory of an USB flash drive. Note that the USB flash drive should be formatted to DOS/Windows FAT32 file-system. SP7021 can only load files from an USB flash drive which is formatted to FAT32 file-system. Note that FAT32 file-system should be in the first or the sole partition of the USB flash drive.

 

6. Set DIP-SW to “boot from USB”

Set DIP-SW (boot-select switch) to “boot from USB”. For example, if you are using SP7021 Demo Board (V1/V2/V3), please set DIP-SW to ON-OFF (0-1) for booting from USB flash drive. Refer to picture below, DIP-SW is set to ON-OFF.

Refer to https://sunplus.atlassian.net/wiki/spaces/doc/pages/460981046 for details of boot selection of SP7021.

7. Write all SP7021 images to eMMC device

Plug your USB flash drive which contains ISPBOOOT.BIN into an USB socket of SP7021 board. Install UART console and set terminal to 115,200 bps. Finally, turn on power of SP7021 board. After power on, SP7021 starts to ”boot from USB” drive. It first loads x-boot from ISPBOOOT.BIN in USB flash drive. x-boot loads u-boot. u-boot will then loads all images, verify md5-checksum and write them to eMMC one by one. Wait for writing to complete. Finally, you will see screen like:

ISP all: Done” means all images were written to eMMC successfully.

Note that in-system-program (ISP) of SP7021 does not support USB hub. The USB flash drive for ISP should be plugged into USB socket of SP7021 board directly.

If you are using Banana Pi BPI-F2P boards, please plug you USB flash drive to the micro USB socket for ISP. It is the only USB socket that is connected to SP7021 directly.

8. Boot Linux from eMMC device

Set DIP-SW (boot select switch) to “boot from eMMC device”. For example, if you are using SP7021 Demo Board (V1/V2/V3), please set DIP-SW to OFF-OFF (1-1) for booting from eMMC device. Refer to picture below:

DIP-SW is set to OFF-OFF. Now, you are ready to boot SP7021 Linux from eMMC device. Turn on power of SP7021 board again to boot system.

9. In-system program (ISP) from an SD card

Note that you can also copy your ISPBOOOT.BIN file to root directory of a micro SD card to do in-system-program to eMMC device. The SD card be formatted to DOS/Windows FAT32 file-system. Note that SP7021 only detects ISPBOOOT.BIN in the first partition.

Set DIP-SW (boot-select switch) to “boot from SD card”. For example, if you are using SP7021 Demo Board (V1/V2/V3), please set DIP-SW to ON-ON (0-0) for booting from SD card.

Plug your SD card into micro SD socket of SP7021 board, install UART console, and then turn on power of SP7021 board. SP7021 will start to do ISP from SD card.

Appendix A. Layout of partitions of eMMC device

Refer to layout of partitions of 8GB eMMC device. x-boot is placed at “Boot Area Partition 1”. There are a GPT (GUID Partition Table) and 8 partitions in “User Data Area Partition”. The figures in parenthesis of each partition is the maximum size of the partition. Size of partition rootfs extends to end of eMMC device.

Appendix B. Log of ISP-ing of eMMC device

+++iBoot v1.02 Jan 10 2019 11:20:28 -- B -- [d] iboot.c :96 [d] iboot.c :107 [d] iboot.c :877 hw_cfg=0x00017FFF bootmode=0x00000017 [d] iboot.c :813 [d] iboot.c :316 [[usb_isp]] usb0 [d] bootmain.c :116 dev=1 pin=0 find file [d] fat_boot.c :181 [d] fat_boot.c :189 [d] ehci_usb.c :229 [d] ehci_usb.c :239 Reset EHCI ......................... No usb device on port 0 [d] fat_boot.c :213 [d] iboot.c :285 not found usb1 [d] bootmain.c :116 dev=1 pin=0 find file [d] fat_boot.c :181 [d] fat_boot.c :189 [d] ehci_usb.c :229 [d] ehci_usb.c :239 Reset EHCI usb1 connected(0ms) enum u-disk get dev desc (64) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 64 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 vid=85 64 pid=10 00 rev=11 00 set addr [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 get dev desc (18) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 18 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 get conf desc (9) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 9 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 get conf desc (9) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 32 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 set config 1 [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 Test Unit Ready (0) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (1) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (2) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (3) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (4) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :218 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :230 part@0x00000800 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :259 [d] fat_boot.c :295 [d] fat_boot.c :314 [d] fat_boot.c :318 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :337 load file [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 mg=0x54554258 len=0x00006418 chk=0x00008499 flg=0x00000001 [d] bootmain.c :338 OTP pub-key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Verify signature...(AB) FAIL signature: 8F EF 77 6C 27 E7 52 B0 89 AC C7 6F F5 25 A7 B9 58 6A 06 0F BA A5 64 6C 88 BF 21 F5 E8 46 8D 4F AC E6 FC 51 5E 46 74 84 BF 81 E0 61 89 A4 BD D0 E4 16 D7 5C E2 91 39 4B 38 76 FA 77 92 4E 0D 0F tV=87 OTP Secure Boot is OFF boot! ..337015 +++xBoot Apr 20 2021 16:46:58 [d] xboot.c :162 -- B -- B: b_sysclk=202M abio_ctrl=(16bit,DDR) [d] xboot.c :228 [otp_rw.c]otp_rw in otp_rw.c]otp_rw out mode=0x00000017 [d] xboot.c :1659 [d] xboot.c :1015 {{usb_isp}} finding file [d] fat/fat_boot.c :284 [d] fat/fat_boot.c :294 [d] usb/ehci_usb.c :227 [d] usb/ehci_usb.c :237 Reset EHCI usb1 connected(2ms) enum u-disk get dev desc (64) vid=85 64 pid=10 00 rev=11 00 set addr get dev desc (18) get conf desc (18) get conf desc (32) set config 1 Test Unit Ready (0) Test Unit Ready (1) Test Unit Ready (2) Test Unit Ready (3) Test Unit Ready (4) [d] fat/fat_boot.c :343 [d] fat/fat_boot.c :355 part@0x00000800 [d] fat/fat_boot.c :397 FAT32 file system [d] fat/fat_boot.c :473 [d] fat/fat_boot.c :505 [d] fat/fat_boot.c :509 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 ++iBoot v1.02 Jan 10 2019 11:20:28 -- B -- [d] iboot.c :96 [d] iboot.c :107 [d] iboot.c :877 hw_cfg=0x00017FFF bootmode=0x00000017 [d] iboot.c :813 [d] iboot.c :316 [[usb_isp]] usb0 [d] bootmain.c :116 dev=1 pin=0 find file [d] fat_boot.c :181 [d] fat_boot.c :189 [d] ehci_usb.c :229 [d] ehci_usb.c :239 Reset EHCI ......................... No usb device on port 0 [d] fat_boot.c :213 [d] iboot.c :285 not found usb1 [d] bootmain.c :116 dev=1 pin=0 find file [d] fat_boot.c :181 [d] fat_boot.c :189 [d] ehci_usb.c :229 [d] ehci_usb.c :239 Reset EHCI usb1 connected(0ms) enum u-disk get dev desc (64) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 64 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 vid=85 64 pid=10 00 rev=11 00 set addr [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 get dev desc (18) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 18 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 get conf desc (9) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 9 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 get conf desc (9) [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 32 [d] ehci_usb.c :653 [d] ehci_usb.c :701 Out 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 set config 1 [d] ehci_usb.c :727 Setup 8 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 0 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :762 Test Unit Ready (0) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (1) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (2) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (3) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 Test Unit Ready (4) [d] ehci_usb.c :459 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :218 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :230 part@0x00000800 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :259 [d] fat_boot.c :295 [d] fat_boot.c :314 [d] fat_boot.c :318 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :321 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] fat_boot.c :337 load file [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 4096 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 [d] ehci_usb.c :534 [d] ehci_usb.c :775 Out 31 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 512 [d] ehci_usb.c :653 [d] ehci_usb.c :701 In 13 [d] ehci_usb.c :653 [d] ehci_usb.c :701 [d] ehci_usb.c :842 mg=0x54554258 len=0x00006418 chk=0x00008499 flg=0x00000001 [d] bootmain.c :338 OTP pub-key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Verify signature...(AB) FAIL signature: 8F EF 77 6C 27 E7 52 B0 89 AC C7 6F F5 25 A7 B9 58 6A 06 0F BA A5 64 6C 88 BF 21 F5 E8 46 8D 4F AC E6 FC 51 5E 46 74 84 BF 81 E0 61 89 A4 BD D0 E4 16 D7 5C E2 91 39 4B 38 76 FA 77 92 4E 0D 0F tV=87 OTP Secure Boot is OFF boot! ..337105 +++xBoot Apr 20 2021 16:46:58 [d] xboot.c :162 -- B -- B: b_sysclk=202M abio_ctrl=(16bit,DDR) [d] xboot.c :228 [otp_rw.c]otp_rw in otp_rw.c]otp_rw out mode=0x00000017 [d] xboot.c :1659 [d] xboot.c :1015 {{usb_isp}} finding file [d] fat/fat_boot.c :284 [d] fat/fat_boot.c :294 [d] usb/ehci_usb.c :227 [d] usb/ehci_usb.c :237 Reset EHCI usb1 connected(2ms) enum u-disk get dev desc (64) vid=85 64 pid=10 00 rev=11 00 set addr get dev desc (18) get conf desc (18) get conf desc (32) set config 1 Test Unit Ready (0) Test Unit Ready (1) Test Unit Ready (2) Test Unit Ready (3) Test Unit Ready (4) [d] fat/fat_boot.c :343 [d] fat/fat_boot.c :355 part@0x00000800 [d] fat/fat_boot.c :397 FAT32 file system [d] fat/fat_boot.c :473 [d] fat/fat_boot.c :505 [d] fat/fat_boot.c :509 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :512 [d] fat/fat_boot.c :528 Run draiminit@0x9E80601D Done draiminit dram test 0x00800000 - 0x00800400 fat load uboot load data size=440956 start verify in xboot! ******OTP Secure Boot is OFF, return success****** uboot_pentagram_board boot next @0x00200040 put bootinfo wake up A A_G0.11(pll): 0x00445149 A_G0.3(abio): 0x00020718 A_G0.18(ioctrl): 0x00F1E004 U-Boot 2019.04-g3c37ae1 (Apr 20 2021 - 16:47:06 +0800) CONFIG_SYS_CACHELINE_SIZE: 64 Model: SP7021/CA7/Demo V3 DRAM: 512 MiB clk@osc0 : 27000000 Hz clk@0 : 13500000 Hz clk@A_pll0 : 2000000000 Hz plla : 135475200 Hz plle : 50000000 Hz plle_2p5 : 2500000 Hz plle_25 : 25000000 Hz plle_112p5 : 112500000 Hz pllf : 202500000 Hz plltv : 148500000 Hz plltv_a : 148500000 Hz pllsys : 202500000 Hz SPI: Manufacturer id = 0x00, Device id = 0x0000 MMC: emmc: 0, sd: 1 Loading Environment from MMC... *** Warning - !ISP mode, using default environment OK In: serial Out: serial Err: serial U-Boot 2019.04-g3c37ae1 (Apr 20 2021 - 16:47:06 +0800) Model: SP7021/CA7/Demo V3 DRAM: 512 MiB Reason(s) of reset: REG(116, 22): 0x0002 After cleaning REG(116, 22): 0x0000 arch/arm/mach-pentagram/cpu.c, arch_misc_init: TBD. Net: Warning: l2sw@0x9c108000 using MAC address from ROM eth0: l2sw@0x9c108000 starting USB... USB0: ehci_sunplus_probe.383, dev_name:usb@0x9C102100,port_num:0 after write usbruncmd,usbcmd:80b01,retry_times:0 USB EHCI 1.10 USB1: ehci_sunplus_probe.383, dev_name:usb@0x9C103100,port_num:1 after write usbruncmd,usbcmd:80b01,retry_times:1 USB EHCI 1.10 USB2: ohci_sunplus_probe.21, dev_name:usb@0x9C102080,port_num:2 USB OHCI 1.0 USB3: ohci_sunplus_probe.21, dev_name:usb@0x9C103080,port_num:3 USB OHCI 1.0 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 2 USB Device(s) found scanning bus 2 for devices... 1 USB Device(s) found scanning bus 3 for devices... 1 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found Hit any key to stop autoboot: 0 [scr] bootcmd started 9e809408: 00000017 .... [scr] ISP from USB storage 2048 bytes read in 28 ms (71.3 KiB/s) isp_main_storage=emmc ## Executing script at 01000020 ISP file from USB storage Interface: USB Device 0: Vendor: JetFlash Rev: 1100 Prod: Transcend 16GB Type: Removable Hard Disk Capacity: 15480.0 MB = 15.1 GB (31703040 x 512) Filesystem: FAT32 "NO NAME " 14279680 ISPBOOOT_q628.BIN 13600 watchdog 14281728 ISPBOOOTx.BIN 23515136 ISPBOOOT.BIN 4 file(s), 0 dir(s) Load ISP main script and run it ... 9216 bytes read in 40 ms (224.6 KiB/s) ## Executing script at 01000000 Initialize eMMC ... switch to partitions #0, OK mmc0(part 0) is current device MMC write: dev # 0, block # 0, count 34 ... 34 blocks written: OK switch to partitions #0, OK mmc0(part 0) is current device partitions=uuid_disk=00042021-0408-4601-9dcc-a8c51255994f;name=uboot1,uuid=77877125-add0-4374-9e60-02cb591c9737,size=1MiB;name=uboot2,uuid=b4b84b8a-04e3-48ae-8536-aff5c9c495b1,size=1MiB;name=env,uuid=35219908-c613-4b08-9322-3391ff571e19,size=512KiB;name=env_redund,uuid=8e123a33-e3d3-4db9-92f4-d3ebd9b3224f,size=512KiB;name=nonos,uuid=02a90af2-5d1c-4a29-9177-97a513e3cae4,size=1MiB;name=dtb,uuid=3d5088db-a534-413e-836d-c757cb682814,size=256KiB;name=kernel,uuid=03332b01-ac34-4d28-99b4-34e03a2335f4,size=32MiB;name=rootfs,uuid=cf2eecfa-4485-41e2-b19d-757e796da607,size=-; Writing GPT ... Writing GPT: success! Initialize eMMC again due to GPT update ... switch to partitions #0, OK mmc0(part 0) is current device Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x00000821 "uboot1" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 77877125-add0-4374-9e60-02cb591c9737 2 0x00000822 0x00001021 "uboot2" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: b4b84b8a-04e3-48ae-8536-aff5c9c495b1 3 0x00001022 0x00001421 "env" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 35219908-c613-4b08-9322-3391ff571e19 4 0x00001422 0x00001821 "env_redund" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 8e123a33-e3d3-4db9-92f4-d3ebd9b3224f 5 0x00001822 0x00002021 "nonos" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 02a90af2-5d1c-4a29-9177-97a513e3cae4 6 0x00002022 0x00002221 "dtb" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 3d5088db-a534-413e-836d-c757cb682814 7 0x00002222 0x00012221 "kernel" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 03332b01-ac34-4d28-99b4-34e03a2335f4 8 0x00012222 0x00e8ffde "rootfs" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: cf2eecfa-4485-41e2-b19d-757e796da607 programming xboot1 ... 26624 bytes read in 18 ms (1.4 MiB/s) XBOOT1: to eMMC boot partition MMC write: dev # 0, block # 0, count 52 ... 52 blocks written: OK programming uboot1 ... 441344 bytes read in 34 ms (12.4 MiB/s) MMC write: dev # 0, block # 34, count 862 ... 862 blocks written: OK programming uboot2 ... 441344 bytes read in 34 ms (12.4 MiB/s) MMC write: dev # 0, block # 2082, count 862 ... 862 blocks written: OK programming env ... MMC write: dev # 0, block # 4130, count 4 ... 4 blocks written: OK programming env_redund ... MMC write: dev # 0, block # 5154, count 4 ... 4 blocks written: OK programming nonos ... 49152 bytes read in 18 ms (2.6 MiB/s) MMC write: dev # 0, block # 6178, count 96 ... 96 blocks written: OK programming dtb ... 20480 bytes read in 19 ms (1 MiB/s) MMC write: dev # 0, block # 8226, count 40 ... 40 blocks written: OK programming kernel ... 2097152 bytes read in 87 ms (23 MiB/s) MMC write: dev # 0, block # 8738, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 88 ms (22.7 MiB/s) MMC write: dev # 0, block # 12834, count 4096 ... 4096 blocks written: OK 93184 bytes read in 25 ms (3.6 MiB/s) MMC write: dev # 0, block # 16930, count 182 ... 182 blocks written: OK programming rootfs ... 2097152 bytes read in 88 ms (22.7 MiB/s) MMC write: dev # 0, block # 74274, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 88 ms (22.7 MiB/s) MMC write: dev # 0, block # 78370, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 89 ms (22.5 MiB/s) MMC write: dev # 0, block # 82466, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 88 ms (22.7 MiB/s) MMC write: dev # 0, block # 86562, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 88 ms (22.7 MiB/s) MMC write: dev # 0, block # 90658, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 87 ms (23 MiB/s) MMC write: dev # 0, block # 94754, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 87 ms (23 MiB/s) MMC write: dev # 0, block # 98850, count 4096 ... 4096 blocks written: OK 2097152 bytes read in 75 ms (26.7 MiB/s) MMC write: dev # 0, block # 102946, count 4096 ... 4096 blocks written: OK 385024 bytes read in 33 ms (11.1 MiB/s) MMC write: dev # 0, block # 107042, count 752 ... 752 blocks written: OK verifying xboot1 ... XBOOT1: from eMMC boot partition MMC read: dev # 0, block # 0, count 52 ... 52 blocks read: OK md5 for 01000000 ... 010067ff ==> e68921c98f59e64d6eaa2e8ad3fb0af0 md5sum: OK. verifying uboot1 ... MMC read: dev # 0, block # 34, count 862 ... 862 blocks read: OK md5 for 01000000 ... 0106bbff ==> cb76a9b8c27f3ab45141475cc2b0325a md5sum: OK. verifying uboot2 ... MMC read: dev # 0, block # 2082, count 862 ... 862 blocks read: OK md5 for 01000000 ... 0106bbff ==> cb76a9b8c27f3ab45141475cc2b0325a md5sum: OK. verifying env ... verifying env_redund ... verifying nonos ... MMC read: dev # 0, block # 6178, count 96 ... 96 blocks read: OK md5 for 01000000 ... 0100bfff ==> 385a4fa4398845d5ae15476276a5c57d md5sum: OK. verifying dtb ... MMC read: dev # 0, block # 8226, count 40 ... 40 blocks read: OK md5 for 01000000 ... 01004fff ==> ca230dd365976458ad09ef95f66c2b43 md5sum: OK. verifying kernel ... MMC read: dev # 0, block # 8738, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 4784aff1ee515e4f921caada009196e9 md5sum: OK. MMC read: dev # 0, block # 12834, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 62a25a9318d23f189842045264e4268b md5sum: OK. MMC read: dev # 0, block # 16930, count 182 ... 182 blocks read: OK md5 for 01000000 ... 01016bff ==> 63560e793e3286468534863e73a2d695 md5sum: OK. verifying rootfs ... MMC read: dev # 0, block # 74274, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 28e5085728c93639d94e051b83967707 md5sum: OK. MMC read: dev # 0, block # 78370, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> b2d1236c286a3c0704224fe4105eca49 md5sum: OK. MMC read: dev # 0, block # 82466, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 335664bbef696876561c0eef9e7d6dd7 md5sum: OK. MMC read: dev # 0, block # 86562, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 46923b31895d01a4f371504347c567dc md5sum: OK. MMC read: dev # 0, block # 90658, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 4c03cbd3c135fce517f2e4f3860819fc md5sum: OK. MMC read: dev # 0, block # 94754, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> cfe6c9a2b20d5f280242e2b31be50c9b md5sum: OK. MMC read: dev # 0, block # 98850, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 0d7b7fd94e26823584e12b63d8e53fda md5sum: OK. MMC read: dev # 0, block # 102946, count 4096 ... 4096 blocks read: OK md5 for 01000000 ... 011fffff ==> 9aba40d407395e7fda10b1b8e28743a1 md5sum: OK. MMC read: dev # 0, block # 107042, count 752 ... 752 blocks read: OK md5 for 01000000 ... 0105dfff ==> 8bdb45faf996428e39922f2da5718298 md5sum: OK. Following environment variables will be saved: addr_dst_dtb=0x2FFFC0 addr_dst_kernel=0x307FC0 addr_dst_nonos=0x10000 addr_src_dtb=0x2022 addr_src_kernel=0x2222 addr_src_nonos=0x1822 addr_tmp_header=0x800000 b_c=console=tty1 console=ttyS0,115200 earlyprintk baudrate=115200 be2le=setexpr byte *${tmpaddr} '&' 0x000000ff; setexpr tmpval $tmpval + $byte; setexpr tmpval $tmpval * 0x100; setexpr byte *${tmpaddr} '&' 0x0000ff00; setexpr byte ${byte} / 0x100; setexpr tmpval $tmpval + $byte; setexpr tmpval $tmpval * 0x100; setexpr byte *${tmpaddr} '&' 0x00ff0000; setexpr byte ${byte} / 0x10000; setexpr tmpval $tmpval + $byte; setexpr tmpval $tmpval * 0x100; setexpr byte *${tmpaddr} '&' 0xff000000; setexpr byte ${byte} / 0x1000000; setexpr tmpval $tmpval + $byte; boot_kernel=if itest ${if_use_nfs_rootfs} == 1; then setenv bootargs ${b_c} root=/dev/nfs nfsroot=${nfs_serverip}:${nfs_rootfs_dir} ip=${nfs_clintip}:${nfs_serverip}:${nfs_gatewayip}:${nfs_netmask}::eth0:off rdinit=/linuxrc noinitrd rw; fi; verify ${addr_dst_kernel}; bootm ${addr_dst_kernel} - ${fdtcontroladdr}; bootcmd=echo [scr] bootcmd started; md.l ${bootinfo_base} 1; if itest.l *${bootinfo_base} == 0x11; then if itest ${if_zebu} == 1; then if itest ${if_qkboot} == 1; then echo [scr] qk zmem boot; run qk_zmem_boot; else echo [scr] zmem boot; run zmem_boot; fi; else if itest ${if_qkboot} == 1; then echo [scr] qk romter boot; run qk_romter_boot; elif itest.s ${sp_main_storage} == tftp; then echo [scr] tftp_boot; run tftp_boot; else echo [scr] romter boot; run romter_boot; fi; fi; elif itest.l *${bootinfo_base} == 0x1F; then if itest ${if_zebu} == 1; then echo [scr] zebu emmc boot; run zebu_emmc_boot; else if itest ${if_qkboot} == 1; then echo [scr] qk emmc boot; run qk_emmc_boot; else echo [scr] emmc boot; run emmc_boot; fi; fi; elif itest.l *${bootinfo_base} == 0x09; then echo [scr] nand boot; run nand_boot; elif itest.l *${bootinfo_base} == 0x17; then echo [scr] ISP from USB storage; run isp_usb; elif itest.l *${bootinfo_base} == 0x07; then echo [scr] ISP from SD Card; run isp_sdcard; else echo Stop; fi bootdelay=1 bootinfo_base=0x9e809408 emmc_boot=mmc read ${addr_tmp_header} ${addr_src_nonos} 0x1; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_nonos ${tmpval} + 0x40; setexpr sz_nonos ${sz_nonos} + 0x200; setexpr sz_nonos ${sz_nonos} / 0x200; mmc read ${addr_dst_nonos} ${addr_src_nonos} ${sz_nonos}; sp_nonos_go ${addr_dst_nonos}; mmc read ${addr_tmp_header} ${addr_src_kernel} 0x1; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_kernel ${tmpval} + 0x40; setexpr sz_kernel ${sz_kernel} + 0x48; setexpr sz_kernel ${sz_kernel} + 0x200; setexpr sz_kernel ${sz_kernel} / 0x200; mmc read ${addr_dst_kernel} ${addr_src_kernel} ${sz_kernel}; setenv bootargs ${b_c} ${emmc_root} ${args_emmc} ${args_kern}; run boot_kernel emmc_root=root=/dev/mmcblk0p8 rw rootwait ethaddr=fc:4b:bc:bc:50:66 fdtcontroladdr=1f8fdf78 fileaddr=1000000 filesize=5e000 if_qkboot=CONFIG_SYS_USE_QKBOOT_HEADER if_use_nfs_rootfs=USE_NFS_ROOTFS if_zebu=CONFIG_SYS_ENV_ZEBU isp_common=setenv isp_ram_addr 0x1000000; setenv filesize 0; fatsize $isp_if $isp_dev /cmdline.txt; if test $filesize != 0; then fatload $isp_if $isp_dev $addr_dst_dtb /cmdline.txt; raspb init $fileaddr $filesize; echo new bootargs; echo $bootargs; fi; fatload $isp_if $isp_dev $isp_ram_addr /ISPBOOOT.BIN 0x800 0x100000; setenv isp_main_storage ${sp_main_storage} && printenv isp_main_storage; setexpr script_addr $isp_ram_addr + 0x20 && setenv script_addr 0x${script_addr} && source $script_addr; isp_dev=0 isp_if=usb isp_sdcard=setenv isp_if mmc && setenv isp_dev $sdcard_devid; mmc list; fatsize $isp_if $isp_dev /ISPBOOOT.BIN; echo ISPBOOOT filesize = $filesize; if itest.l ${filesize} == 0x10000; then echo run sdcard_boot; scriptaddr=0x1000000; bootscr=boot.scr; bootenv=uEnv.txt; if run loadbootenv; then echo Loaded environment from ${bootenv}; env import -t ${scriptaddr} ${filesize}; fi; if test -n ${uenvcmd}; then echo Running uenvcmd ...; run uenvcmd; fi; if run loadbootscr; then echo Jumping to ${bootscr}; source ${scriptaddr}; fi; else echo run isp_common; run isp_common; fi isp_usb=setenv isp_if usb && setenv isp_dev 0; $isp_if start; run isp_common; loadbootenv=fatload ${isp_if} ${isp_dev}:1 ${scriptaddr} /${bootenv} || fatload ${isp_if} ${isp_dev}:1 ${scriptaddr} /boot/${bootenv} || fatload ${isp_if} ${isp_dev}:1 ${scriptaddr} /sunplus/sp7021/${bootenv}; loadbootscr=fatload ${isp_if} ${isp_dev}:1 ${scriptaddr} /${bootscr} || fatload ${isp_if} ${isp_dev}:1 ${scriptaddr} /boot/${bootscr} || fatload ${isp_if} ${isp_dev}:1 ${scriptaddr} /sunplus/sp7021/${bootscr}; macaddr=00:22:60:00:88:20 nand_boot=nand read ${addr_tmp_header} nonos 0x40; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_nonos ${tmpval} + 0x40; nand read ${addr_dst_nonos} nonos ${sz_nonos}; sp_nonos_go ${addr_dst_nonos}; nand read ${addr_tmp_header} kernel 0x40; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_kernel ${tmpval} + 0x40; setexpr sz_kernel ${sz_kernel} + 0x48; nand read ${addr_dst_kernel} kernel ${sz_kernel}; setenv bootargs ${b_c} root=ubi0:rootfs rw ubi.mtd=9,2048 rootflags=sync rootfstype=ubifs mtdparts=${mtdparts} user_debug=255 rootwait; run boot_kernel nfs_clintip=NFS_ROOTFS_CLINT_IP nfs_gatewayip=NFS_ROOTFS_GATEWAY_IP nfs_netmask=NFS_ROOTFS_NETMASK nfs_rootfs_dir=NFS_ROOTFS_DIR nfs_serverip=NFS_ROOTFS_SERVER_IP part_sizes=uboot2_1Menv_512Kenv_redund_512Knonos_1Mdtb_256Kkernel_32Mrootfs_7680M preboot=usb start qk_emmc_boot=mmc read ${addr_tmp_header} ${addr_src_kernel} 0x1; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_kernel ${tmpval} + 0x40; setexpr sz_kernel ${sz_kernel} + 0x200; setexpr sz_kernel ${sz_kernel} / 0x200; mmc read ${addr_dst_kernel} ${addr_src_kernel} ${sz_kernel}; sp_go ${addr_dst_kernel} ${fdtcontroladdr} qk_romter_boot=cp.b ${addr_src_kernel} ${addr_tmp_header} 0x40; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_kernel ${tmpval} + 0x40; setexpr sz_kernel ${sz_kernel} + 4; setexpr sz_kernel ${sz_kernel} / 4; cp.l ${addr_src_kernel} ${addr_dst_kernel} ${sz_kernel}; sp_go ${addr_dst_kernel} ${fdtcontroladdr} qk_zmem_boot=sp_go ${addr_dst_kernel} ${fdtcontroladdr} romter_boot=cp.b ${addr_src_nonos} ${addr_tmp_header} 0x40; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_nonos ${tmpval} + 0x40; setexpr sz_nonos ${sz_nonos} + 3; setexpr sz_nonos ${sz_nonos} / 4; cp.l ${addr_src_nonos} ${addr_dst_nonos} ${sz_nonos}; sp_nonos_go ${addr_dst_nonos}; cp.b ${addr_src_kernel} ${addr_tmp_header} 0x40; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_kernel ${tmpval} + 0x40; setexpr sz_kernel ${sz_kernel} + 0x48; echo loading kernel ...; setexpr sz_kernel ${sz_kernel} + 3; setexpr sz_kernel ${sz_kernel} / 4; cp.l ${addr_src_kernel} ${addr_dst_kernel} ${sz_kernel}; run boot_kernel sdcard_devid=1 serverip=172.18.12.62 sp_main_storage=emmc stderr=vidconsole,serial stdin=usbkbd,serial stdout=vidconsole,serial tftp_boot=setenv ethaddr ${macaddr} && printenv ethaddr; printenv serverip; setenv filesize 0; dhcp ${addr_dst_kernel} ${serverip}:a926_username; if test $filesize != 0; then setexpr tmpval $filesize + 3; setexpr tmpval $tmpval / 4; echo Copying nonos image to $addr_dst_nonos; cp.l $addr_dst_kernel $addr_dst_nonos $tmpval; echo "## Booting A926 from image at ${addr_dst_nonos}"; sp_nonos_go ${addr_dst_nonos}; fi; dhcp ${addr_dst_dtb} ${serverip}:dtb_username && dhcp ${addr_dst_kernel} ${serverip}:uImage_username; if test $? != 0; then echo Error occurred while getting images from tftp server!; exit; fi; verify ${addr_dst_kernel}; bootm ${addr_dst_kernel} - ${addr_dst_dtb}; update_common=setenv isp_ram_addr 0x1000000; setenv isp_update_file_name ISP_UPDT.BIN; fatload $isp_if $isp_dev $isp_ram_addr /$isp_update_file_name 0x800; setenv isp_main_storage ${sp_main_storage} && printenv isp_main_storage; setenv isp_image_header_offset 0; setexpr script_addr $isp_ram_addr + 0x20 && setenv script_addr 0x${script_addr} && source $script_addr; update_sdcard=setenv isp_if mmc && setenv isp_dev 1; mmc list; run update_common; update_tftp=setenv isp_ram_addr 0x1000000; setenv ethaddr ${macaddr} && printenv ethaddr; printenv serverip; dhcp $isp_ram_addr $serverip:TFTP0000.BIN; setenv isp_main_storage ${sp_main_storage} && printenv isp_main_storage; setexpr script_addr $isp_ram_addr + 0x00 && setenv script_addr 0x${script_addr} && source $script_addr; update_usb=setenv isp_if usb && setenv isp_dev 0; $isp_if start; run update_common; zebu_emmc_boot=mmc rescan; mmc part; mmc read ${addr_tmp_header} ${addr_src_kernel} 0x1; setenv tmpval 0; setexpr tmpaddr ${addr_tmp_header} + 0x0c; run be2le; setexpr sz_kernel ${tmpval} + 0x40; setexpr sz_kernel ${sz_kernel} + 0x48; setexpr sz_kernel ${sz_kernel} + 0x200; setexpr sz_kernel ${sz_kernel} / 0x200; mmc read ${addr_dst_kernel} ${addr_src_kernel} ${sz_kernel}; sp_go ${addr_dst_kernel} ${fdtcontroladdr} zmem_boot=bootm ${addr_dst_kernel} - ${fdtcontroladdr} Environment size: 9168/524284 bytes Saving Environment to MMC... Writing to MMC(0)... OK Saving Environment to MMC... Writing to MMC(0)... OK ************************************************** ISP all: Done ************************************************** =>

Appendix C. Log of Booting from eMMC device

+++iBoot v1.02 Jan 10 2019 11:20:28 -- B -- [d] iboot.c :96 [d] iboot.c :107 [d] iboot.c :877 hw_cfg=0x0001FFFF bootmode=0x0000001F [d] iboot.c :837 [d] iboot.c :736 [emmc_boot] [d] bootmain.c :116 dev=2 pin=1 [d] drv_sd_mmc.c :21 InitChipCtrl busclk=200000 div=1012 [d] drv_sd_mmc.c :23 IdentifyStorage [d] hal_sd_mmc.c :483 busclk=25000000 div=8 [d] hal_sd_mmc.c :1717 [d] drv_sd_mmc.c :33 [d] iboot.c :421 mg=0x54554258 len=0x00006418 chk=0x00008499 [d] iboot.c :452 [d] iboot.c :462 mg=0x54554258 len=0x00006418 chk=0x00008499 flg=0x00000001 [d] bootmain.c :338 OTP pub-key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Verify signature...(AB) FAIL signature: 8F EF 77 6C 27 E7 52 B0 89 AC C7 6F F5 25 A7 B9 58 6A 06 0F BA A5 64 6C 88 BF 21 F5 E8 46 8D 4F AC E6 FC 51 5E 46 74 84 BF 81 E0 61 89 A4 BD D0 E4 16 D7 5C E2 91 39 4B 38 76 FA 77 92 4E 0D 0F tV=87 OTP Secure Boot is OFF boot! .24161 +++xBoot Apr 20 2021 16:46:58 [d] xboot.c :162 -- B -- B: b_sysclk=202M abio_ctrl=(16bit,DDR) [d] xboot.c :228 [otp_rw.c]otp_rw in +++iBoot v1.02 Jan 10 2019 11:20:28 -- B -- [d] iboot.c :96 [d] iboot.c :107 [d] iboot.c :877 hw_cfg=0x0001FFFF bootmode=0x0000001F [d] iboot.c :837 [d] iboot.c :736 [emmc_boot] [d] bootmain.c :116 dev=2 pin=1 [d] drv_sd_mmc.c :21 InitChipCtrl busclk=200000 div=1012 [d] drv_sd_mmc.c :23 IdentifyStorage [d] hal_sd_mmc.c :483 busclk=25000000 div=8 [d] hal_sd_mmc.c :1717 [d] drv_sd_mmc.c :33 [d] iboot.c :421 mg=0x54554258 len=0x00006418 chk=0x00008499 [d] iboot.c :452 [d] iboot.c :462 mg=0x54554258 len=0x00006418 chk=0x00008499 flg=0x00000001 [d] bootmain.c :338 OTP pub-key: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Verify signature...(AB) FAIL signature: 8F EF 77 6C 27 E7 52 B0 89 AC C7 6F F5 25 A7 B9 58 6A 06 0F BA A5 64 6C 88 BF 21 F5 E8 46 8D 4F AC E6 FC 51 5E 46 74 84 BF 81 E0 61 89 A4 BD D0 E4 16 D7 5C E2 91 39 4B 38 76 FA 77 92 4E 0D 0F tV=87 OTP Secure Boot is OFF boot! .17020 +++xBoot Apr 20 2021 16:46:58 [d] xboot.c :162 -- B -- B: b_sysclk=202M abio_ctrl=(16bit,DDR) [d] xboot.c :228 [otp_rw.c]otp_rw in otp_rw.c]otp_rw out mode=0x0000001F {{emmc_boot}} [d] common/bootmain.c :89 dev=2 pin=1 Run draiminit@0x9E80601D Done draiminit dram test 0x00800000 - 0x00800400 [d] sdmmc/drv_sd_mmc.c :21 InitChipCtrl busclk=200000 div=1012 [d] sdmmc/drv_sd_mmc.c :23 IdentifyStorage [d] sdmmc/hal_sd_mmc.c :512 busclk=25000000 div=8 [d] sdmmc/hal_sd_mmc.c :1742 [d] sdmmc/drv_sd_mmc.c :33 Read GPT part1 LBA=0x00000022 emmc load uboot@blk=0x00000022 uboot1 hdr good part2 LBA=0x00000822 emmc load uboot@blk=0x00000822 data size=440956 verify img... uboot2 good start verify in xboot! ******OTP Secure Boot is OFF, return success****** uboot_pentagram_board boot next @0x00200040 put bootinfo wake up A A_G0.11(pll): 0x00445149 A_G0.3(abio): 0x00020718 A_G0.18(ioctrl): 0x00F1E004 U-Boot 2019.04-g3c37ae1 (Apr 20 2021 - 16:47:06 +0800) CONFIG_SYS_CACHELINE_SIZE: 64 Model: SP7021/CA7/Demo V3 DRAM: 512 MiB clk@osc0 : 27000000 Hz clk@0 : 13500000 Hz clk@A_pll0 : 2000000000 Hz plla : 135475200 Hz plle : 50000000 Hz plle_2p5 : 2500000 Hz plle_25 : 25000000 Hz plle_112p5 : 112500000 Hz pllf : 202500000 Hz plltv : 148500000 Hz plltv_a : 148500000 Hz pllsys : 202500000 Hz SPI: Manufacturer id = 0x00, Device id = 0x0000 MMC: emmc: 0, sd: 1 Loading Environment from MMC... OK In: serial Out: serial Err: serial U-Boot 2019.04-g3c37ae1 (Apr 20 2021 - 16:47:06 +0800) Model: SP7021/CA7/Demo V3 DRAM: 512 MiB Reason(s) of reset: REG(116, 22): 0x0002 After cleaning REG(116, 22): 0x0000 arch/arm/mach-pentagram/cpu.c, arch_misc_init: TBD. Net: eth0: l2sw@0x9c108000 starting USB... USB0: ehci_sunplus_probe.383, dev_name:usb@0x9C102100,port_num:0 after write usbruncmd,usbcmd:80b01,retry_times:0 USB EHCI 1.10 USB1: ehci_sunplus_probe.383, dev_name:usb@0x9C103100,port_num:1 after write usbruncmd,usbcmd:80b01,retry_times:0 USB EHCI 1.10 USB2: ohci_sunplus_probe.21, dev_name:usb@0x9C102080,port_num:2 USB OHCI 1.0 USB3: ohci_sunplus_probe.21, dev_name:usb@0x9C103080,port_num:3 USB OHCI 1.0 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 2 USB Device(s) found scanning bus 2 for devices... 1 USB Device(s) found scanning bus 3 for devices... 1 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found Hit any key to stop autoboot: 0 [scr] bootcmd started 9e809408: 0000001f .... [scr] emmc boot MMC read: dev # 0, block # 6178, count 1 ... 1 blocks read: OK MMC read: dev # 0, block # 6178, count 97 ... 97 blocks read: OK Image Name: uboot Image Type: ARM Linux Sunplus Quick Boot Image (uncompressed) Data Size: 49088 Bytes = 47.9 KiB Load Address: 00010040 Entry Point: 00010040 Verifying Checksum ... OK [u-boot] nonos_B address 0x00010000 nonos_size= 49088 MMC read: dev # 0, block # 8738, count 1 ... 1 blocks read: OK MMC read: dev # 0, block # 8738, count 8373 ... 8373 blocks read: OK kernel_hdr addr = 307fc0 ******OTP Secure Boot is OFF, return success****** ## Booting kernel from Legacy Image at 00307fc0 ... Image Name: Linux-5.4.35-SUNPLUS-v7+ Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4286688 Bytes = 4.1 MiB Load Address: 00308000 Entry Point: 00308000 Verifying Checksum ... OK ## Flattened Device Tree blob at 1f8fdf78 Booting using the fdt blob at 0x1f8fdf78 ehci_usb_remove.393, dev_name:usb@0x9C102100,port_num:0 ehci_usb_remove.393, dev_name:usb@0x9C103100,port_num:1 ohci_sunplus_remove.28, dev_name:usb@0x9C102080,port_num:2 ohci_sunplus_remove.28, dev_name:usb@0x9C103080,port_num:3 XIP Kernel Image ... OK Loading Device Tree to 1f8f4000, end 1f8fbf2f ... OK Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.35-SUNPLUS-v7+ (wellslu@scdiu3) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)) #204 SMP PREEMPT Tue Apr 20 16:47:48 CST 2021 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=50c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: SP7021/CA7/Demo V3 [ 0.000000] printk: bootconsole [earlycon0] enabled [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] sp_map_io [ 0.000000] P_REG: [9c000000-9dffffff] -> [f8000000-f9ffffff] [ 0.000000] C_REG: [9ec00000-9effffff] -> [fa000000-fa3fffff] [ 0.000000] percpu: Embedded 15 pages/cpu s30732 r8192 d22516 u61440 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129412 [ 0.000000] Kernel command line: console=tty1 console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p8 rw rootwait [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] Memory: 508476K/522240K available (4096K kernel code, 884K rwdata, 1768K rodata, 1024K init, 357K bss, 13764K reserved, 0K cma-reserved, 0K highmem) [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] NR_IRQS: 205 [ 0.000000] random: get_random_bytes called from start_kernel+0x1c7/0x368 with crng_init=0 [ 0.000000] @@@ Sunplus clock init [ 0.000000] plla 135475200 [ 0.000000] plle 50000000 [ 0.000000] plle_2p5 2500000 [ 0.000000] plle_25 25000000 [ 0.000000] plle_112p5 112500000 [ 0.000000] pllf 202500000 [ 0.000000] plltv 27000000 [ 0.000000] pllsys 202500000 [ 0.000000] arch_timer: cp15 timer(s) running at 27.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x63a1e71a3, max_idle_ns: 440795203123 ns [ 0.000010] sched_clock: 56 bits at 27MHz, resolution 37ns, wraps every 4398046511093ns [ 0.008132] Switching to timer-based delay loop, resolution 37ns [ 0.014982] Console: colour dummy device 80x30 [ 0.020077] printk: console [tty1] enabled [ 0.024271] Calibrating delay loop (skipped), value calculated using timer frequency.. 54.00 BogoMIPS (lpj=270000) [ 0.034824] pid_max: default: 32768 minimum: 301 [ 0.039878] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.047344] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.056913] CPU: Testing write buffer coherency: ok [ 0.062660] CPU0: update cpu_capacity 1024 [ 0.066839] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.132828] Setting up static identity map for 0x400000 - 0x400054 [ 0.139280] rcu: Hierarchical SRCU implementation. [ 0.168565] smp: Bringing up secondary CPUs ... [ 0.224756] CPU1: update cpu_capacity 1024 [ 0.224764] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.304711] CPU2: update cpu_capacity 1024 [ 0.304721] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.384788] CPU3: update cpu_capacity 1024 [ 0.384794] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.384915] smp: Brought up 1 node, 4 CPUs [ 0.418852] SMP: Total of 4 processors activated (216.00 BogoMIPS). [ 0.425231] CPU: All CPU(s) started in SVC mode. [ 0.430844] devtmpfs: initialized [ 0.440920] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.449670] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.459729] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.467384] pinctrl core: initialized pinctrl subsystem [ 0.473608] NET: Registered protocol family 16 [ 0.478849] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.485946] audit: initializing netlink subsys (disabled) [ 0.492547] sp_init [ 0.494702] av1_stc: 0x0009172b [ 0.498443] audit: type=2000 audit(0.440:1): state=initialized audit_enabled=0 res=1 [ 0.498940] P-chip: sys = 202MHz, cpio_ctrl = (16bit, DDR) [ 0.511958] C-chip: core = 931MHz, sys = 465MHz, pllio = 1998MHz, cpio_bus = 399MHz [ 0.519742] apply partial clken to save power [ 0.524595] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.532738] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.538722] 1: ext0-mask=0xf [ 0.541653] 2: ext1-mask=0xe [ 0.556342] sppctl pctl: funcs: 156 unq_grps: 140 [ 0.561524] SP7021 PinCtl by Sunplus/Tibbo Tech.(C) 2020 [ 0.605297] fbcon: Taking over console [ 0.616130] SCSI subsystem initialized [ 0.621114] usbcore: registered new interface driver usbfs [ 0.626963] usbcore: registered new interface driver hub [ 0.632628] usbcore: registered new device driver usb [ 0.638399] videodev: Linux video capture interface: v2.00 [ 0.645503] sunplus,sp7021-ocotp 9c00af00.otp: by Sunplus (C) 2020 [ 0.653973] Bluetooth: Core ver 2.22 [ 0.657954] NET: Registered protocol family 31 [ 0.662538] Bluetooth: HCI device and connection manager initialized [ 0.669021] Bluetooth: HCI socket layer initialized [ 0.674071] Bluetooth: L2CAP socket layer initialized [ 0.679248] Bluetooth: SCO socket layer initialized [ 0.684642] clocksource: Switched to clocksource arch_sys_counter [ 0.711978] register sunplus_usb_phy0_driver [ 0.716820] uphy0_irq:36 [ 0.726098] register sunplus_usb_phy1_driver [ 0.730641] uphy1_irq:37 [ 0.739719] register sunplus_usb_otg0_driver [ 0.745184] register sunplus_usb_otg1_driver [ 0.750765] HDMITX installed [ 0.755174] NET: Registered protocol family 2 [ 0.760588] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) [ 0.769214] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear) [ 0.777160] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.784469] TCP: Hash tables configured (established 4096 bind 4096) [ 0.791151] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) [ 0.797904] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) [ 0.805399] NET: Registered protocol family 1 [ 0.810749] RPC: Registered named UNIX socket transport module. [ 0.816826] RPC: Registered udp transport module. [ 0.821606] RPC: Registered tcp transport module. [ 0.826400] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.834176] hw perfevents: no interrupt-affinity property for /arm-pmu, guessing. [ 0.842310] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available [ 0.854235] Initialise system trusted keyrings [ 0.859145] workingset: timestamp_bits=14 max_order=17 bucket_order=3 [ 0.866784] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.873496] NFS: Registering the id_resolver key type [ 0.878731] Key type id_resolver registered [ 0.882981] Key type id_legacy registered [ 0.927857] Key type asymmetric registered [ 0.932047] Asymmetric key parser 'x509' registered [ 0.937230] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 0.944776] io scheduler mq-deadline registered [ 0.949381] io scheduler kyber registered [ 0.957280] K_TTYS: sp_uart0's Rx is in PIO mode. [ 0.962091] K_TTYS: sp_uart0's Tx is in PIO mode. [ 0.966937] 9c000900.serial: ttyS0 at MMIO 0x9c000900 (irq = 53, base_baud = 1687500) is a sp_uart0 [ 0.976227] printk: console [ttyS0] enabled [ 0.976227] printk: console [ttyS0] enabled [ 0.984668] printk: bootconsole [earlycon0] disabled [ 0.984668] printk: bootconsole [earlycon0] disabled [ 1.014128] loop: module loaded [ 1.016961] libphy: Fixed MDIO Bus: probed [ 1.017085] CAN device driver interface [ 1.017620] [L2SW] L2 switch mode = 1 [ 1.017920] [L2SW] HW Addr = fc:4b:bc:bc:50:66 [ 1.022910] [L2SW] Registered net device "eth0" successfully. [ 1.028100] libphy: sunplus_mii_bus: probed [ 1.033536] net eth0: could not add device link to 9c108000.l2sw-mii:01 err -17 [ 1.040557] [L2SW] HW Addr = fc:4b:bc:bc:50:67 [ 1.044392] [L2SW] Registered net device "eth1" successfully. [ 1.049669] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 1.055951] ehci-platform: EHCI generic platform driver [ 1.061398] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 1.067273] ohci-platform: OHCI generic platform driver [ 1.072604] register ehci0_hcd_sunplus_driver [ 1.077076] ehci0-sunplus 9c102100.usb: Generic Platform EHCI Controller [ 1.083472] ehci0-sunplus 9c102100.usb: new USB bus registered, assigned bus number 1 [ 1.091541] ehci0-sunplus 9c102100.usb: irq 14, io mem 0x9c102100 [ 1.124646] ehci0-sunplus 9c102100.usb: USB 2.0 started, EHCI 1.10 [ 1.126052] hub 1-0:1.0: USB hub found [ 1.126195] hub 1-0:1.0: 1 port detected [ 1.128033] register ehci1_hcd_sunplus_driver [ 1.131953] ehci1-sunplus 9c103100.usb: Generic Platform EHCI Controller [ 1.138401] ehci1-sunplus 9c103100.usb: new USB bus registered, assigned bus number 2 [ 1.146380] ehci1-sunplus 9c103100.usb: irq 17, io mem 0x9c103100 [ 1.174642] ehci1-sunplus 9c103100.usb: USB 2.0 started, EHCI 1.10 [ 1.175930] hub 2-0:1.0: USB hub found [ 1.176076] hub 2-0:1.0: 1 port detected [ 1.177982] register ohci0_hcd_sunplus_driver [ 1.181882] ohci_id:1,irq:15 [ 1.184510] ohci0-sunplus 9c102080.usb: Generic Platform OHCI Controller [ 1.191237] ohci0-sunplus 9c102080.usb: new USB bus registered, assigned bus number 3 [ 1.199276] ohci0-sunplus 9c102080.usb: irq 15, io mem 0x9c102080 [ 1.277611] hub 3-0:1.0: USB hub found [ 1.277754] hub 3-0:1.0: 1 port detected [ 1.278526] register ohci1_hcd_sunplus_driver [ 1.278883] ohci_id:2,irq:18 [ 1.281315] ohci1-sunplus 9c103080.usb: Generic Platform OHCI Controller [ 1.288196] ohci1-sunplus 9c103080.usb: new USB bus registered, assigned bus number 4 [ 1.296055] ohci1-sunplus 9c103080.usb: irq 18, io mem 0x9c103080 [ 1.367610] hub 4-0:1.0: USB hub found [ 1.367741] hub 4-0:1.0: 1 port detected [ 1.368698] usbcore: registered new interface driver usb-storage [ 1.370305] register sunplus_driver_udc [ 1.370305] [ 1.376640] >>> sp_udc_alloc_request... [ 1.376640] [ 1.380668] <<< sp_udc_alloc_request... [ 1.380668] [ 1.386294] zero gadget: Gadget Zero, version: Cinco de Mayo 2008 [ 1.392007] zero gadget: zero ready [ 1.396414] mousedev: PS/2 mouse device common for all mice [ 1.402371] sp7021-rtc 9c003a00.serial: registered as rtc0 [ 1.406540] [RTC] Info: sp7021-rtc loaded [ 1.410760] i2c /dev entries driver [ 1.415720] [DISP][_display_probe:3137] disp probe ... [ 1.419194] [DISP]irq num:4 [ 1.422151] [DISP]ttl-name [ 1.425925] [DISP][_display_probe:3378] disp probe done [ 1.430792] [MIPI] SP MIPI driver is probed [ 1.434337] [MIPI] sp_mipi_probe, mipicsi_regs = 0x(ptrval), csiiw_regs = 0x(ptrval) [ 1.442199] [MIPI] cam_gpio0 is at G_MX[92]. [ 1.446343] [MIPI] cam_gpio1 is at G_MX[93]. [ 1.450519] [MIPI] Registered V4L2 device. [ 1.454889] [MIPI] Registered video device '/dev/video0'. [ 1.459958] [MIPI] Got i2c adapter #1. [ 1.465454] [OV5647] Initialized V4L2 I2C subdevice. [ 1.468781] [I2C] Error (292): I2C NACK : wtire !! [ 1.473499] [OV5647] ERR: Unexpected sensor (id = 0x0000, ret = -5)! [ 1.480519] ov5647: probe of 1-0036 failed with error -1 [ 1.486155] [MIPI] ERR: Failed to register V4L2 subdevice! [ 1.491269] usbcore: registered new interface driver uvcvideo [ 1.496321] USB Video Class driver (1.1.1) [ 1.500435] usbcore: registered new interface driver btusb [ 1.544707] usb 2-1: new high-speed USB device number 2 using ehci1-sunplus [ 1.545943] spsdc 9c003e80.mmc: Got CD GPIO [ 1.586650] hidraw: raw HID events driver (C) Jiri Kosina [ 1.587276] usbcore: registered new interface driver usbhid [ 1.587379] usbhid: USB HID core driver [ 1.590251] exFAT: Version 1.3.0 [ 1.594265] NET: Registered protocol family 10 [ 1.600022] usb-storage 2-1:1.0: USB Mass Storage device detected [ 1.600241] Segment Routing with IPv6 [ 1.607985] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 1.608154] scsi host0: usb-storage 2-1:1.0 [ 1.614977] NET: Registered protocol family 17 [ 1.622443] can: controller area network core (rev 20170425 abi 9) [ 1.628423] NET: Registered protocol family 29 [ 1.632672] can: raw protocol (rev 20170425) [ 1.636967] can: broadcast manager protocol (rev 20170425 t) [ 1.642527] can: netlink gateway (rev 20190810) max_hops=1 [ 1.648406] Bluetooth: RFCOMM TTY layer initialized [ 1.652845] Bluetooth: RFCOMM socket layer initialized [ 1.658038] Bluetooth: RFCOMM ver 1.11 [ 1.661678] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 1.667022] Bluetooth: BNEP filters: protocol multicast [ 1.672706] Bluetooth: BNEP socket layer initialized [ 1.677683] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 1.683041] Bluetooth: HIDP socket layer initialized [ 1.688066] NET: Registered protocol family 37 [ 1.692409] Key type dns_resolver registered [ 1.696731] Key type ceph registered [ 1.702816] mmc0: new DDR MMC card at address 0001 [ 1.706101] mmcblk0: mmc0:0001 8GTF4R 7.28 GiB [ 1.709780] mmcblk0boot0: mmc0:0001 8GTF4R partition 1 4.00 MiB [ 1.715502] libceph: loaded (mon/osd proto 15/24) [ 1.720265] Registering SWP/SWPB emulation handler [ 1.725187] mmcblk0boot1: mmc0:0001 8GTF4R partition 2 4.00 MiB [ 1.731584] registered taskstats version 1 [ 1.734757] Loading compiled-in X.509 certificates [ 1.755889] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 [ 1.768656] Console: switching to colour frame buffer device 160x45 [ 1.778368] sp7021-fb soc@B:fb_device: [_sp7021_fb_create_device:282] mem VA 0xe0884000(PA 0x1e000000), Palette VA 0xde8b0000(PA 0x1e8b0000), UI Res 1280x720, size 3686400 + 1024 [ 1.789749] sp7021-rtc 9c003a00.serial: setting system clock to 1970-01-01T00:00:07 UTC (7) [ 2.163208] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: (null) [ 2.163628] VFS: Mounted root (ext4 filesystem) on device 259:0. [ 2.167028] devtmpfs: mounted [ 2.171079] Freeing unused kernel memory: 1024K [ 2.173788] Run /sbin/init as init process /etc/init.d/rcS starts... Mounting other filesystems ... rc.extra [bg] ******* resize2fs /dev/mmcblk0p8 **************** 0x0000B98E resize2fs 1.45.1 (12-May-2019) Filesystem at /dev/mmcblk0p8 is mounted on /; on-line resizing required [ 2.427035] EXT4-fs (mmcblk0p8): resizing filesystem from 4190 to 1899447 blocks old_desc_blocks = 1, new_desc_blocks = 1 0x0000000B extra done [ 2.455668] random: fast init done [ 2.470406] EXT4-fs (mmcblk0p8): resized filesystem to 1899447 The filesystem on /dev/mmcblk0p8 is now 1899447 (4k) blocks long. End of /etc/init.d/rcS login[746]: root login on 'console' ~ #

Note that at first boot, root file-system is extended to end of the partition (/dev/mmcblk0p8).

Refer to report of df command:

Type of file-system is ext4. Total size is 7.2GB. Used is 9.9MB. Available is 7.2 GB.