Hello,
I tried to follow the example of secure boot(kernel sign verification in Chapter 10.3.2 in the manual.) step-by-step. (BSP v33)
I made FIT file successfully, tried to load it and boot but it is failed with message below.
(I'm using SD-Card at the moment.)
1. What is the Kernel load and entry address for S32G-RDB2?
- I set it 0x810000000 now.
2. Where can I set the rootfs partition in SD-Card? (e.g /dev/mmcblk0p2)
Please refer message below and reply, Thank you in advance.
NOTICE: Reset status: Power-On Reset
NOTICE: BL2: v2.5(release):bsp33.0-2.5
NOTICE: BL2: Built : 10:30:20, Jun 21 2023
NOTICE: BL2: Booting BL31
U-Boot 2020.04-dirty (Jun 21 2023 - 10:27:04 +0900)
CPU: NXP S32G274A rev. 2.0
Model: NXP S32G274A-RDB2
DRAM: 3.5 GiB
MMC: FSL_SDHC: 0
Loading Environment from MMC... OK
Using external clock for PCIe0, CRNS
Configuring PCIe0 as RootComplex(x2)
Using external clock for PCIe1, CRNS
Frequency 125Mhz configured for PCIe1
Configuring PCIe1 as SGMII(x2) [XPCS0 2.5G, XPCS1 OFF]
Setting PCI Device and Vendor IDs to 0x4002:0x1957
PCIe0: Failed to get link up
Pcie0: LINK_DBG_1: 0x00000000, LINK_DBG_2: 0x00000800 (expected 0x000000d1)
DEBUG_R0: 0x00019900, DEBUG_R1: 0x08200000
PCI: Failed autoconfig bar 20
PCI: Failed autoconfig bar 24
PCIe1: Not configuring PCIe, PHY not configured
In: serial@401c8000
Out: serial@401c8000
Err: serial@401c8000
Board revision: RDB2/GLDBOX Revision D
Net: EQOS phy: rgmii @ 1
Warning: eth_eqos (eth0) using random MAC address - aa:0e:4d:58:ea:9b
eth0: eth_eqos PFE: emac0: sgmii emac1: none emac2: rgmii
PFEng firmware file 'mmc@0:1:s32g_pfe_class.fw' loading failed: -2
Hit any key to stop autoboot: 0
=>
=>
=>
=> fatload mmc 0:1 0x80000000 output.itb
13848849 bytes read in 610 ms (21.7 MiB/s)
=> run mmcargs
=> iminfo
## Checking Image at 80000000 ...
FIT image found
FIT description: kernel+dtb/fdt fit image
Image 0 (kernel@1)
Description: kernel image
Type: Kernel Image
Compression: uncompressed
Data Start: 0x800000cc
Data Size: 13824072 Bytes = 13.2 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x81000000
Entry Point: 0x81000000
Hash algo: sha1
Hash value: eb0d0410ca15bd8ba3cdacdbb885d480161d6e91
Image 1 (fdt@1)
Description: dtb blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x80d2f20c
Data Size: 22874 Bytes = 22.3 KiB
Architecture: AArch64
Hash algo: sha1
Hash value: 8f65394358c47a6f3aa003a8384e7f3f3131ebeb
Default Configuration: 'conf@1'
Configuration 0 (conf@1)
Description: unavailable
Kernel: kernel@1
FDT: fdt@1
Sign algo: sha1,rsa2048:boot_key
Sign value: 3c4df47d7a3e84e16a56d9531059160424c7bef9cc1e9c0fd9af391cdb65029fef9ed4e492713999eed0ad2f3fc7117c9827d5579480e25202d8b7a9cfcf3262ac61cfa9dc28b924fd0d2893063a5a3f39504aff0bd0644ebbdff6678c3e1bf73b33e6b18096a183e22b5ff0a5e4e1b541ab86ec1750938aa4c9c2b51abbc093287644718cdf783a7f960eb9e7564c4ad24a7c3f2faac6ef110d6ab7b37adaf76b9b5d4868fc258349eebd43d46096d05e369bf12174001de876165e9595dee60886c8894c1dc02ba302e8e55c94ba5596e6ec3ba000227101c3afc5fe79ede2571c8a00458c4c72301b8409c37245132129a5a3fdedeca4b54eb74dc3adc07d
## Checking hash(es) for FIT Image at 80000000 ...
Hash(es) for Image 0 (kernel@1): sha1+
Hash(es) for Image 1 (fdt@1): sha1+
=> bootm 0x80000000
## Loading kernel from FIT Image at 80000000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ... sha1,rsa2048:boot_key+ OK
Trying 'kernel@1' kernel subimage
Description: kernel image
Type: Kernel Image
Compression: uncompressed
Data Start: 0x800000cc
Data Size: 13824072 Bytes = 13.2 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x81000000
Entry Point: 0x81000000
Hash algo: sha1
Hash value: eb0d0410ca15bd8ba3cdacdbb885d480161d6e91
Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 80000000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ... sha1,rsa2048:boot_key+ OK
Trying 'fdt@1' fdt subimage
Description: dtb blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x80d2f20c
Data Size: 22874 Bytes = 22.3 KiB
Architecture: AArch64
Hash algo: sha1
Hash value: 8f65394358c47a6f3aa003a8384e7f3f3131ebeb
Verifying Hash Integrity ... sha1+ OK
Booting using the fdt blob at 0x80d2f20c
Loading Kernel Image
Using Device Tree in place at 0000000080d2f20c, end 0000000080d37b65
Failed to get offset of '/clocks/serdes_100_ext' node
Failed to set the clock for SerDes0
Failed to get 'serdes1' alias
Failed to set the clock for SerDes1
Failed to get 'serdes1' alias
Failed to set mode for SerDes1
Starting kernel ...
"Synchronous Abort" handler, esr 0x02000000
elr: 0000000081000000 lr : 00000000ffaa27e4 (reloc)
elr: 0000000081000000 lr : 00000000ffaa27e4
x0 : 0000000080d2f20c x1 : 0000000000000000
x2 : 0000000000000000 x3 : 0000000000000000
x4 : 0000000081000000 x5 : 0000000000000001
x6 : 0000000000000004 x7 : 0000000000000000
x8 : 00000000ffde4c18 x9 : 0000000000000002
x10: 000000000a200023 x11: 0000000000000002
x12: 0000000000000002 x13: 0000000000000000
x14: 00000000ffa99000 x15: 00000000ffaa1b08
x16: 00000000ffae4e10 x17: 0000000000000000
x18: 00000000ffa01e70 x19: 00000000ffb473e0
x20: 0000000000000000 x21: 0000000000000400
x22: 0000000000000001 x23: 00000000ffe0d6c8
x24: 00000000ffe0d6c8 x25: 00000000ffb327c0
x26: 0000000000000000 x27: 00000000ffaa27f0
x28: 00000000800000cc x29: 00000000ffde4c50
Code: 00000000 00000000 00000000 00000000 (56190527)
Resetting CPU ...
resetting ...