UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Reply

Trouble loading a 2018.2 FIT image using 2017.x U-Boot

Highlighted
Contributor
Posts: 14
Registered: ‎08-31-2016

Trouble loading a 2018.2 FIT image using 2017.x U-Boot

I have a Zynq-7000 based board that uses QSPI to boot and eMMC to store the kernel.  The QSPI contains BOOT.BIN (ie, FSBL, PL bitstream, U-Boot) and the eMMC contains image.ub (the FIT image with kernel, rootfs and DTB).  Therefore, the two (bootloader and kernel) are not always in sync.  It's possible to update the eMMC with a newer kernel but leave U-Boot alone.

 

If U-Boot from Petalinux 2017.4 (on QSPI) tries to load an image.ub from 2018.2, the following happens:

 

U-Boot 2017.01 (Feb 22 2018 - 10:45:13 -0800)
 

Board: Xilinx Zynq
DRAM:  ECC disabled 512 MiB
MMC:   Card did not respond to voltage select!
sdhci@e0100000 - probe failed: -95
sdhci_transfer_data: Error detected in status(0x208000)!
Card did not respond to voltage select!
 
SF: Detected n25q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
 
In:    serial
Out:   serial
Err:   serial
U-BOOT for MiniZed
 
Hit any key to stop autoboot:  0
boot Petalinux
reading image.ub
34487736 bytes read in 11877 ms (2.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:   0x10000104
     Data Size:    3636380 Bytes = 3.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    sha1
     Hash value:   4a47a1db3bbecb65e7fcb67908ac1cca4965d01c
   Verifying Hash Integrity ... sha1+ OK
## Loading ramdisk from FIT Image at 10000000 ...
   Using 'conf@system-top.dtb' configuration
   Trying 'ramdisk@1' ramdisk subimage
     Description:  petalinux-user-image
     Type:         RAMDisk Image
     Compression:  gzip compressed
     Data Start:   0x1037c054
     Data Size:    30832598 Bytes = 29.4 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   569a51e69f8a29b58c25d7c9b1529fc3f310051a
   Verifying Hash Integrity ... sha1+ 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:   0x10377ea0
     Data Size:    16625 Bytes = 16.2 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   01130f4c9f84719b08b7a87918f58c29be0dc508
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x10377ea0
   Uncompressing Kernel Image ... Error: inflate() returned -5
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
resetting ...

The opposite (U-Boot 2018.2 loading a 2017.4 image.ub) doesn't have the same issue and boots normally.

 

I noticed that starting with 2018.x the kernel portion of the FIT image is compressed.  In 2017.4, it isn't compressed.

 

Is there any way to create a FIT image using Petalinux 2018.2 that's backwards compatible with U-Boot from 2017.x?

Moderator
Posts: 356
Registered: ‎04-24-2017

Re: Trouble loading a 2018.2 FIT image using 2017.x U-Boot

Hi @andrewkrenz,

 

Yes backward compatibility is not possible.

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
Contributor
Posts: 14
Registered: ‎08-31-2016

Re: Trouble loading a 2018.2 FIT image using 2017.x U-Boot

Hi Sandeep,

 

What is the reason for this?

 

Regards,

Andrew

Moderator
Posts: 356
Registered: ‎04-24-2017

Re: Trouble loading a 2018.2 FIT image using 2017.x U-Boot

Hi @andrewkrenz,

 

2018.x release is based on 4.14 kernel which is tested with u-boot version v2018.1 not using v2017.01

 

 

Refer PetaLinux release notes https://www.xilinx.com/support/answers/71201.html

 

https://www.xilinx.com/support/answers/70277.html 

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------