Hi, I am using Xilinx AVNET 2020.2 BSP to create a petalinux project. Link to BSP : https://avtinc.sharepoint.com/teams/ET-Downloads/Shared%20Documents/Forms/AllItems.aspx?id=%2Fteams%2FET%2DDownloads%2FShared%20Documents%2Fprojects%2Fpublic%5Frelease%2F2020%2E2%2FBSP&viewid=dba68156%2Dce4b%2D4ebb%2Db7a7%2Dec03b27b013d
When i create the project, the BSP provides me with a pre-built-/linux/images/* folder which contains all the boot images which can be used to boot using SD card. I am trying to replicate the pre-built/linux/images/BOOT.BIN by using the following command :
petalinux-package --boot --fsbl ./pre-built/linux/images/zynqmp_fsbl.elf --atf pre-built/linux/images/bl31.elf --kernel pre-built/linux/images/image.ub --pmufw ./pre-built/linux/images/pmufw.elf --psmfw no --u-boot ./pre-built/linux/images/u-boot.elf --dtb ./pre-built/linux/images/system.dtb --force
The above command ideally should create an identical BOOT.BIN in the images/linux/ area since i am using the pre-built *.elf files (boot loader files) to package. But when i try to boot using the generated BOOT.BIN the FPGA hangs at the kernel boot stage. Whereas the already existing BOOT.BIN in the pre-built/linux/images area does not cause this hang issue and boots successfully, I am not able to understand where I am going wrong.
I am trying this debug step, inorder to debug another similar boot hang issue which is related to boot from SD card where in i modify the device tree to enable GEM0 ethernet MAC , do a petalinux-build and then finally package the generated boot images into a BOOT.BIN. To clean up the flow i was trying the above but I am stuck here. Kindly help.
BootLog :
Xilinx Zynq MP First Stage Boot Loader
Release 2020.2 Apr 28 2021 - 07:36:59
NOTICE: ATF running on XCZU7EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE: BL31: v2.2(release):xlnx_rebase_v2.2_2020.3
NOTICE: BL31: Built : 12:52:01, Dec 2 2021
U-Boot 2020.01 (Dec 02 2021 - 12:52:05 +0000)
Board: Xilinx ZynqMP
DRAM: 4 GiB
PMUFW: v1.1
EL Level: EL2
Chip ID: zu7ev
NAND: 0 MiB
MMC: mmc@ff160000: 0, mmc@ff170000: 1
In: serial@ff000000
Out: serial@ff000000
Err: serial@ff000000
Bootmode: SD_MODE1
Reset reason: EXTERNAL
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 0, interface rgmii-id
Warning: ethernet@ff0e0000 using MAC address from DT
eth0: ethernet@ff0e0000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
2007 bytes read in 16 ms (122.1 KiB/s)
## Executing script at 20000000
8653876 bytes read in 596 ms (13.8 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'kernel@1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x100000f4
Data Size: 8609540 Bytes = 8.2 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x00080000
Entry Point: 0x00080000
Hash algo: sha256
Hash value: 47d9532b392e118b3285ad44b32a9ed2dc51193a7a98087e2d1e12d2dcf6db04
Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...
Using 'conf@system-top.dtb' configuration
Trying 'fdt@system-top.dtb' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x10836108
Data Size: 42435 Bytes = 41.4 KiB
Architecture: AArch64
Hash algo: sha256
Hash value: d9a4798dfee82827ce54d447f24ca3d7daa68c65aed768120d521d31b22c9b1a
Verifying Hash Integrity ... sha256+ OK
Booting using the fdt blob at 0x10836108
Uncompressing Kernel Image
Loading Device Tree to 000000000fff2000, end 000000000ffff5c2 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.4.0-xilinx-v2020.2 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Tue Nov 30 15:28:10 UTC 2021
[ 0.000000] Machine model: xlnx,zynqmp
[ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[ 0.000000] printk: bootconsole [cdns0] enabled
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 1024 MiB at 0x000000003fc00000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.1
[ 0.000000] percpu: Embedded 21 pages/cpu s48600 r8192 d29224 u86016
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] Speculative Store Bypass Disable mitigation not required
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1031940
[ 0.000000] Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk1p2 rw rootwait
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x3bc00000-0x3fc00000] (64MB)
[ 0.000000] Memory: 2979980K/4193280K available (12412K kernel code, 756K rwdata, 3808K rodata, 768K init, 562K bss, 164724K reserved, 1048576K cma-reserved)
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] irq-xilinx: /amba/axi-interrupt-ctrl: num_irq=32, sw_irq=0, edge=0x0