I have used the following link to create my fitimage.itb file for a ls1012ardb development board: https://github.com/nxp-qoriq/yocto-sdk.
I have followed the instructions and compiled using:
. ./setup-env -m ls1012ardb
bitbake fsl-image-kernelitb
the above throws me -> build_ls1012ardb/tmp/deploy/images/ls1012ardb/kernel-fsl-ls1012a-rdb-20230803143154.itb
according to the documentation I am loading the image in the qspi NOR flash in bank#2
setenv ipaddr 192.168.2.236
setenv serverip 192.168.2.254
tftp 0xa0000000 kernel-fsl-ls1012a-rdb-20230803143154.itb
sf probe 0:0
;;sf erase 0xa00000 +$filesize
sf erase 0xa00000 0x3600000
sf write a0000000 0xa00000 $filesize
* bootargs=console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500
* bootcmd=pfe stop; sf probe 0:0; sf read $kernel_load $kernel_start $kernel_size && bootm $kernel_load#ls1012ardb
* kernel_load=0xa0000000
* kernel_size=0x2800000
* kernel_start=0xa00000
when the image try to boot the follow message is shown:
=> boot
Stopping PFE...
SF: Detected S25FS512S with page size 256 Bytes, erase size 256 KiB, total 64 MiB
device 0 offset 0xa00000, size 0x2800000
SF: 41943040 bytes @ 0xa00000 Read: OK
## Loading kernel from FIT Image at a0000000 ...
Using 'ls1012ardb' configuration
Trying 'kernel' kernel subimage
Description: ARM64 Kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0xa00000d0
Data Size: 15920341 Bytes = 15.2 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x84080000
Entry Point: 0x84080000
Hash algo: crc32
Hash value: 34db28a7
## Loading ramdisk from FIT Image at a0000000 ...
Using 'ls1012ardb' configuration
Trying 'initrd' ramdisk subimage
Description: initrd for arm64
Type: RAMDisk Image
Compression: uncompressed
Data Start: 0xa0f2ee88
Data Size: 16645473 Bytes = 15.9 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00000000
Entry Point: 0x00000000
Hash algo: crc32
Hash value: 7a1c414f
## Loading fdt from FIT Image at a0000000 ...
Using 'ls1012ardb' configuration
Trying 'fdt-dtb' fdt subimage
Description: nxp-dtb
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0xa1f0ecc0
Data Size: 12790 Bytes = 12.5 KiB
Architecture: AArch64
Hash algo: crc32
Hash value: 14496e6c
Loading fdt from 0xa1f0ecc0 to 0x90000000
Booting using the fdt blob at 0x90000000
Uncompressing Kernel Image ... OK
Using Device Tree in place at 0000000090000000, end 00000000900061f5
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.1.22+g66e442bc7fdc (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.40.
20230119) #1 SMP PREEMPT Mon Jun 12 12:31:27 UTC 2023
.
.
.
[ 2.578340] pfe_firmware_init
[ 2.586838] Failed to find the node
[ 2.589650] pfe_firmware_init:PFE firmware not found in FDT.
[ 2.598743] pfe_firmware_init:Trying to load firmware from filesystem...!
[ 2.905278] Freeing initrd memory: 16252K
[ 2.908692] pfe 4000000.pfe: Direct firmware load for ppfe_class_ls1012a.elf failed with error -2
[ 2.915869] pfe_firmware_init: request firmware ppfe_class_ls1012a.elf failed
[ 2.921612] pfe_hif_exit
[ 2.923709] pfe_hif_release_buffers
[ 2.926709] pfe_hif_free_descr
[ 2.929174] pfe_hif_lib_exit
[ 2.931611] pfe_hw_exit
[ 2.933583] pfe: probe of 4000000.pfe failed with error -110
[ 2.942630] cs_system_cfg: CoreSight Configuration manager initialised
[ 2.949861] optee: probing for conduit method.
[ 2.953467] Internal error: Oops - Undefined instruction: 0000000002000000 [#1] PREEMPT SMP
[ 2.960165] Modules linked in:
[ 2.962615] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.22+g66e442bc7fdc #1
[ 2.968338] Hardware name: LS1012A RDB Board (DT)
[ 2.972106] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 2.977690] pc : __arm_smccc_smc+0x10/0x40
[ 2.980984] lr : optee_smccc_smc+0x1c/0x2c
[ 2.984274] sp : ffff80000803baa0
[ 2.986927] x29: ffff80000803baa0 x28: 0000000000000000 x27: ffff800009fc00c8
[ 2.992656] x26: ffff80000a0c6060 x25: ffff80000a0c6078 x24: 0000000000000000
[ 2.998383] x23: ffff80000abe6ab8 x22: ffff80000803bb88 x21: ffff80000aafbde0
[ 3.004111] x20: ffff0000001a8010 x19: ffff8000091ac314 x18: 0000000000000006
[ 3.009838] x17: ffff80000aaa4548 x16: 000000006936836e x15: ffff80000803b610
[ 3.015566] x14: ffffffffffffffff x13: 0000000000000018 x12: 0101010101010101
[ 3.021294] x11: 7f7f7f7f7f7f7f7f x10: 00007bfff3d3a760 x9 : 0000000000000018
[ 3.027021] x8 : ffff80000803bb88 x7 : 0000000000000000 x6 : 0000000000000000
[ 3.032747] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[ 3.038474] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 00000000bf00ff01
[ 3.044200] Call trace:
[ 3.046158] __arm_smccc_smc+0x10/0x40
[ 3.049168] optee_smccc_smc+0x1c/0x2c
[ 3.052177] optee_probe+0x11c/0x7a8
[ 3.055049] platform_probe+0x68/0xc0
[ 3.057988] really_probe+0xbc/0x2dc
[ 3.060858] __driver_probe_device+0x78/0xe0
[ 3.064284] driver_probe_device+0xd8/0x160
[ 3.067641] __driver_attach+0x94/0x19c
[ 3.070719] bus_for_each_dev+0x74/0xd0
[ 3.073797] driver_attach+0x24/0x30
[ 3.076666] bus_add_driver+0x154/0x20c
[ 3.079743] driver_register+0x78/0x130
[ 3.082822] __platform_driver_register+0x28/0x34
[ 3.086593] optee_smc_abi_register+0x1c/0x30
[ 3.090086] optee_core_init+0x28/0x70
[ 3.093094] do_one_initcall+0x64/0x1dc
[ 3.096171] kernel_init_freeable+0x218/0x284
[ 3.099666] kernel_init+0x24/0x12c
[ 3.102464] ret_from_fork+0x10/0x20
[ 3.105337] Code: d503245f a9bf7bfd 910003fd d503201f (d4000003)
[ 3.110223] ---[ end trace 0000000000000000 ]---
[ 3.114065] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 3.120205] Kernel Offset: 0x80000 from 0xffff800008000000
[ 3.124601] PHYS_OFFSET: 0x80000000
[ 3.127394] CPU features: 0x00000,00900080,0000421b
[ 3.131304] Memory Limit: none
[ 3.133752] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
I have the same result if a try to load the individual images generates by yocto "uImage", "mfgtool-ls1012ardb.rootfs.cpio.gz.u-boot" and "ls1012arrb.dtb" in RAM or the image.itb from RAM memory.
tftp a0000000 kernel-fsl-ls1012a-rdb-20230803143154.itb
bootm a0000000
or
tftp a2100000 uImage
tftp a5300000 mfgtool-ls1012ardb.rootfs.cpio.gz.u-boot
tftp a8500000 ls1012arrb.dtb
bootm a2100000 a5300000 a8500000
am I doing something wrong? could you guide me please? thank you.
Hi @Jesus92
Can you please flash PPA FIT and PFE firmware image as shown below.
tftp 0xa0000000 ls1012ardb-ppa-ls1012a_8.0.0.B1.itb
tftp 0xa0000000 pfe-ls1012a_8.0.0.B1.itb
Thanks
Khushbu