News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0723 U-boot unable to decompress Linux kernel [petalinux]

Started by dh73, September 07, 2018, 04:14:37 PM

Previous topic - Next topic

dh73

Hi all,
I'm trying to work with the TE0723 module but I'm completely block with this problem. I did tried to launch a simple petalinux build, following the PetaLinux kickstart, but U-boot is unable to decompress the kernel. I'm using Vivado/Petalinux 2018 because of two main things:
1) 2017.4 is rather old for my RHEL 7.5 servers.
2) Neither Petalinux BOOT.bin and image.ub, or petalinux prebuilt package works. I used both reference designs without success, it always thrown this error:
ERROR: image is not a fdt - must RESET the board to recover.
FDT creation failed! hanging...### ERROR ### Please RESET the board ###


This is my log right now, if somenoe could post the configuration we must follow for this board it will be very helpful as I have been failing with it the whole week. Also, I own a ZCU104 board and it is not giving any problem like this one.
Data Start:   0x10000104
     Data Size:    3938530 Bytes = 3.8 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    sha1
     Hash value:   26241ab06e6c784955fe1ecdd3af606cf463408b
   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:   0x103c521c
     Data Size:    5997910 Bytes = 5.7 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   cb02128198cd089cc3433e3310960b64d34dcc90
   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:   0x103c1ae8
     Data Size:    13938 Bytes = 13.6 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   fe6b6a1a851a978c3bd2c666dbb7b71cf8cdfdd7
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x103c1ae8
   Uncompressing Kernel Image ... Error: inflate() returned -3
gzip compressed: uncompress error -1
Must RESET board to recover
resetting ...

JH

Hi,

which assembly version do you bough?

Did you select the correct prebuilt files from the 2017.4 reference design for your assembly variant? --> because you wrote: "or petalinux prebuilt package works."

I've tried out with TE0723-0xM version, without problems.
But my linux images has other hash values, so either you has used other assembly version with less DDR or it's another prebuilt image.ub.
My log:


U-Boot 2017.01 (Feb 19 2018 - 14:27:32 +0100)

Board: Xilinx Zynq
I2C:   ready
DRAM:  ECC disabled 512 MiB
MMC:   sdhci@e0101000: 0 (SD)
SF: Detected s25fl128s_64k 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 petalinux

Hit any key to stop autoboot:  0
Device: sdhci@e0101000
Manufacturer ID: 3
OEM: 5344
Name: SS08G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading image.ub
9517852 bytes read in 532 ms (17.1 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel@0' kernel subimage
     Description:  Linux Kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x100000d4
     Data Size:    3747200 Bytes = 3.6 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    sha1
     Hash value:   04ab32403b9ff4e6cff934262506d77316fb4c01
   Verifying Hash Integrity ... sha1+ OK
## Loading ramdisk from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Trying 'ramdisk@0' ramdisk subimage
     Description:  ramdisk
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x1039670c
     Data Size:    5754910 Bytes = 5.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   c9ce1b77ab65f699f0de1e1e42adcefc22c835af
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@0' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x10392f48
     Data Size:    14099 Bytes = 13.8 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   06a7da0950f34e0b696085f17c0bbb0b7c1f3c35
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x10392f48
   Loading Kernel Image ... OK
   Loading Ramdisk to 1edc6000, end 1f34301e ... OK
   Loading Device Tree to 1edbf000, end 1edc5712 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.9.0-xilinx-v2017.4 (petalinux@petalinux-VirtualBox) (gcc version                                                                                                                                                              6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP PREEMPT Mon Feb 19 14:32:47 CE                                                                                                                                                             T 2018
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: xlnx,zynq-7000
bootconsole [earlycon0] enabled
cma: Reserved 16 MiB at 0x1dc00000
Memory policy: Data cache writealloc
percpu: Embedded 14 pages/cpu @dfbca000 s25932 r8192 d23220 u57344
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyPS0,115200 earlyprintk
....



br
John

dh73

Hi John, I think you are the person who writes the wiki right?,
My box says "TE0723-02", which seems to be an old version of the board. No one of the petalinux image.ub worked but I think is because of the revison change, I don't know, I keep having the error: ERROR: image is not a fdt - must RESET the board to recover.

I can fix that problem if I stop the autoboot and load the ramdisk from higher memory address, like 0x40000000. I change the netboot address to that one in petalinux config but changes are not taken, I need to always write the u-boot commands by hand, of course this can be easily changed in some different way I suppose.

Is this board deprecated?

JH

Hi,

can you send me the serial number of your module. There should be a sticker with QR Code and a number on the module.
I think you has the R-Version with only 128MB DDR. Design for PCB REV02 and REV03 should be the same. Maybe the name article name on REV02 was a little bit different
I will check tomorrow, maybe I 've forgot to change the netboot address on the prebuilt files: CONFIG_SUBSYSTEM_NETBOOT_OFFSET = 0x4000000
I've only an M version for test. and unfortunately not all settings will be done automatically by hdf import.

Did you clear the petalinux project after you has changed the netboot address -->petalinux-build -x mrproper? Sometimes not all changes will be recognized by the build environment and it used older sources.

br
John

JH

Hi,

I've published a new version on the download (should be available in appr. 1 hour). I've also tested on a TE0723-02, like you has --> 128MB, like I expected yesterday evening.
I've only changed CONFIG_SUBSYSTEM_NETBOOT_OFFSET = 0x4000000
And regenerate all again. -> image.ub, uboot.elf, Boot.bin with new uboot.elf for this variant.

Link:
https://wiki.trenz-electronic.de/display/PD/TE0723+Test+Board#TE0723TestBoard-RevisionHistory
--> te0723-test_board-vivado_2017.4-build_11_20180911144828.zip
https://wiki.trenz-electronic.de/display/PD/TE0723+Test+Board#TE0723TestBoard-Download

If you has still problems, let me know.

br
John

dh73


JH

@ blanca12:
What are you referring to? The hash value, I used for TE0723-0(x)M:
te0723-test_board-vivado_2017.4-build_06_20180220121024\test_board\prebuilt\os\petalinux\default\image.ub
te0723-test_board-vivado_2017.4-build_11_20180911144828\test_board\prebuilt\os\petalinux\default\image.ub
image.ub is the same. use 7zip for unzip and you get the correct modified date (19.02.18, 15:01).

## Loading kernel from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel@0' kernel subimage
     Description:  Linux Kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x100000d4
     Data Size:    3747200 Bytes = 3.6 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    sha1
     Hash value:   04ab32403b9ff4e6cff934262506d77316fb4c01
   Verifying Hash Integrity ... sha1+ OK
## Loading ramdisk from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Trying 'ramdisk@0' ramdisk subimage
     Description:  ramdisk
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x1039670c
     Data Size:    5754910 Bytes = 5.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   c9ce1b77ab65f699f0de1e1e42adcefc22c835af
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@0' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x10392f48
     Data Size:    14099 Bytes = 13.8 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   06a7da0950f34e0b696085f17c0bbb0b7c1f3c35
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x10392f48
   Loading Kernel Image ... OK
   Loading Ramdisk to 1edc6000, end 1f34301e ... OK
   Loading Device Tree to 1edbf000, end 1edc5712 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.




which one did you use?


Or did you mistake TE0726(ZynqBerry) for TE0723(ArduZynq)? Because on other post you wrote to ZynqBerry. Or has you both modules?

br
John