Trouble loading TEZI on Apalis iMX8

I’m having issues loading TEZI on an iMX8 after following the instructions here:

The files seem to download correctly, but nothing comes up on the screen connected via a DVI-to-HDMI adapter.

$ ./recovery-linux.sh 
Downloading Toradex Easy Installer...
[sudo] password for jkizito: 
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.3.136-0-g1ecc47f

Success 1    Failure 0                                                         
                                                                                
                                                                                
1:1      8/ 8 [Done                                  ] FB: done                 


Successfully downloaded Toradex Easy Installer.

Since the screen remains blank, I tried to connect to the board via the UART-USB connection. I then hit crtl-C to view the U-Boot prompt and entered the boot command. This is the output:

Apalis iMX8 # boot
Loading hdp firmware from 0x0000000082fe0000 offset 0x0000000000002000
Loading hdp firmware Complete
## Loading kernel from FIT Image at 83000000 ...
   Using 'config@freescale_fsl-imx8qm-apalis-eval.dtb' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x83000108
     Data Size:    6691088 Bytes = 6.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x80280000
     Entry Point:  0x80280000
     Hash algo:    sha1
     Hash value:   4e0fdd31c6fa359cda0e295ac0750fd2c360bca5
   Verifying Hash Integrity ... sha1 error!
Bad hash value for 'hash@1' hash node in 'kernel@1' image node
Bad Data Hash
ERROR: can't get kernel image!

I am using beta release 2.0b5 for the iMX8 from here:

Is it possible to get links to older beta releases to see if that makes any difference?

When I try using an SD card to load TEZI as described here Distro Boot | Toradex Developer Center , the board needs to be reset several times before it progresses past “Starting kernel”. The output then contains many squashfs error messages before a final kernel panic.

Starting kernel ...

[    0.307646] clk: couldn't set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 0
[    0.423117] dmi: Firmware registration failed.
[    0.512816] imx6q-pcie 5f000000.pcie: pcie_ext clock source missing or invalid
[    0.515055] imx6q-pcie 5f010000.pcie: pcie_ext clock source missing or invalid
[    0.563143] Can't support > 32 bit dma.
[    0.646265] i.mx8-hdp 56268000.hdmi: invalid resource
[    2.346811] Can't support > 32 bit dma.
[    2.377020] Can't support > 32 bit dma.
[    2.596457] atmel_mxt_ts 4-004a: __mxt_read_reg: i2c transfer failed (-5)
[    2.603492] atmel_mxt_ts 4-004a: mxt_bootloader_read: i2c recv failed (-5)
[    2.610590] atmel_mxt_ts 4-004a: mxt_bootloader_read: i2c recv failed (-5)
[    3.666053] SQUASHFS error: zlib decompression failed, data probably corrupt
[    3.673214] SQUASHFS error: squashfs_read_data failed to read block 0x2a4523
[    3.680337] SQUASHFS error: Unable to read data cache entry [2a4523]
[    3.686772] SQUASHFS error: Unable to read page, block 2a4523, size fcd9

...

[    4.144321] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007
[    4.144321]
[    4.156017] CPU: 1 PID: 1 Comm: init Not tainted 4.14.170-2.0.5+gfb6b17a22634 #1
[    4.165213] Hardware name: Toradex Apalis iMX8QM/QP on Apalis Evaluation Board (DT)
[    4.174792] Call trace:
[    4.178211] [<ffff000008089ad8>] dump_backtrace+0x0/0x3c0
[    4.184608] [<ffff000008089eac>] show_stack+0x14/0x20
[    4.190659] [<ffff00000895c944>] dump_stack+0xa8/0xcc
[    4.196694] [<ffff0000080ac300>] panic+0x12c/0x288
[    4.202465] [<ffff0000080b0458>] do_exit+0x938/0x968
[    4.208407] [<ffff0000080b04ec>] do_group_exit+0x34/0x98
[    4.214701] [<ffff0000080badcc>] get_signal+0xac/0x5d8
[    4.220819] [<ffff000008088610>] do_signal+0x158/0xc08
[    4.226928] [<ffff000008089720>] do_notify_resume+0xd8/0xf8
[    4.233470] Exception stack(0xffff00000806bec0 to 0xffff00000806c000)
[    4.240909] bec0: 00000000000008ff 0000ffffa0b65000 000000000000000a 0000ffffa0b69160
[    4.250755] bee0: 0000ffffa0ddc9a0 000000000000000c 0000ffffa0bf4a10 5e4241484b45ff36
[    4.260737] bf00: 7f7f7f7f7f7f7f7f 0000000000000000 0000ffffa0cf3028 0000000000000008
[    4.270849] bf20: 0000000000000040 0000000000001458 0000ffffa0b68e30 0000000000000022
[    4.281090] bf40: 0000ffffa0de2f80 0000ffffa0dc7bb8 0000000000000100 0000000800000402
[    4.291459] bf60: 0000ffffa0cd2f50 0000ffffa0cd0000 0000ffffa0cd0768 0000000000023028
[    4.301924] bf80: 00000000000000c0 0000ffffa0cd3430 0000ffffa0ddc4d0 0000ffffa0cd1df4
[    4.312450] bfa0: 0000ffffa0cd06a8 0000fffff82cd760 0000ffffa0dbdfc4 0000fffff82cd760
[    4.323030] bfc0: 0000ffffa0bf4a10 0000000060001000 0000ffffa0cc6000 00000000ffffffff
[    4.333620] bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    4.344305] [<ffff000008083964>] work_pending+0x8/0x10
[    4.350911] SMP: stopping secondary CPUs
[    4.356304] Kernel Offset: disabled
[    4.361258] CPU features: 0x100200d
[    4.366215] Memory Limit: none
[    4.370733] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007

Could you please try this steps?

I followed the steps in the link. The recovery script succeeded, but on reboot this is the output and the system continuously reboots.

U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g9393e0c9bd (May 19 2020 - 21:31:12 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 40C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT V1.0B, Serial# 06548549

 BuildInfo:
  - SCFW b929edfe, SECO-FW 27167ff2, IMX-MKIMAGE d7f9440d, ATF bb209a0
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g9393e0c9bd

switch to partitions #0, OK
mmc0(part 0) is current device
"Synchronous Abort" handler, esr 0x96000007
elr: 000000008007ffe0 lr : 0000000080026e7c (reloc)
elr: 00000000ffeedfe0 lr : 00000000ffe94e7c
x0 : 00000000fff04664 x1 : 0000000000000000
x2 : 00000000fd67e260 x3 : 0000000000000000
x4 : 0000000000000066 x5 : 00000000fff04664
x6 : 0000000000000021 x7 : 00000000fd6a0f40
x8 : 00000000fd67dfb0 x9 : 0000000000000008
x10: 00000000ffffffd8 x11: 0000000000000006
x12: 000000000001869f x13: 0000000000000200
x14: 000000000000003a x15: 00000000ffffffff
x16: 0000000000002080 x17: 0000000000000000
x18: 00000000fd68bda8 x19: 00000000fff045f2
x20: 00000000fff04664 x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000fd67e2d0

Resetting CPU ...

resetting ...


U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g9393e0c9bd (May 19 2020 - 21:31:12 +0000)

Is it possible that the U-Boot environment variables need to be modified?

When you start loading TEZI 2.02 over USB in recovery mode could you stop its booting at U-Boot by pressing “space” at terminal connected to debug UART? Then reset U_Boot environment by:

#env default -a  
#saveenv 

And only after that boot TEZI 2.02 and flash TEZI 2.05

I updated the environment without any problems. This is the output when starting TEZI 2.02 over USB. The batch file still reports success though:

..
downloading of 48887640 bytes finished
## Executing script at 82e00000
Loading hdp firmware from 0x0000000082fe0000 offset 0x0000000000002000
Loading hdp firmware Complete
## Loading kernel from FIT Image at 83000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux Kernel 4.14
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x830000dc
     Data Size:    9889576 Bytes = 9.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x80280000
     Entry Point:  0x80280000
     Hash algo:    md5
     Hash value:   32d5bf1b0500a2aeb396d5be7ad798b0
   Verifying Hash Integrity ... md5 error!
Bad hash value for 'hash@1' hash node in 'kernel@1' image node
Bad Data Hash
ERROR: can't get kernel image!
## Executing script at 82e00000
Loading hdp firmware from 0x0000000082fe0000 offset 0x0000000000002000
Loading hdp firmware Complete
## Loading kernel from FIT Image at 83000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux Kernel 4.14
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x830000dc
     Data Size:    9889576 Bytes = 9.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x80280000
     Entry Point:  0x80280000
     Hash algo:    md5
     Hash value:   32d5bf1b0500a2aeb396d5be7ad798b0
   Verifying Hash Integrity ... md5 error!
Bad hash value for 'hash@1' hash node in 'kernel@1' image node
Bad Data Hash
ERROR: can't get kernel image!

Most likely it is related to the following issue:

Please try one of them latest Toradex Easy Installer nightly releases from the CI feed.

I tried build 149 from here:
https://artifacts.toradex.com/ui/repos/tree/General/tezi-oe-prerelease-frankfurt%2Fthud%2Fnightly%2F149%2Fapalis-imx8%2Ftezi%2Ftezi-run%2Foedeploy%2FApalis-iMX8_ToradexEasyInstaller_2.0b6-nightly-20200804.zip

recovery-windows.bat no longer completes successfully. This is the output:

Downloading Toradex Easy Installer...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.3.136-0-g1ecc47f

Success 0    Failure 0


1:1      1/ 1 [=================100%=================] SDPS: boot -f ../imx-boot

HI @Jimmy

did you try the emmc memory erase?

High performance, low power Embedded Computing Systems | Toradex Developer Center,

try this. with boot up normal mode ( not recovery ).

I had same problem and solved.
Don’t install TEZI on easy installer and just install torizon only. ( maybe you don’t have problem with other application, but i had. wan’t bootable with console based linux )

Could you please load Easy Installer 2.0b4 to your dev machine from here -Downloads & Installers | Toradex Developer Center.
Then load it to your Apalis over USB in a recovery mode.
If it boots OK please enable CI feed and flash latest Easy Installer 2.0b6. I’ve tested 20200811 and it works fine for me.

Hello, my name is Michael and I took over this issue from Jimmy. I repeated all the previous steps and got the same results as Jimmy. These include erasing the eMMC and trying several versions of Easy Installer.

Our modules are Apalis iMX8QM 4GB WB, V1.0B. When the boards were new they came with the Easy Installer that worked. We are now troing to reload Easy Installer in order to install another custom Linux image. So far we failed to re-install Easy Installer itself.

Does anyone know with which version of Easy Installer the boards were shipped?

Have you tried 2.0b4 as was suggested?

Yes, we tried 2.0b4 downloaded from Toradex web site. I also tried to erase the eMMC and then loaded it. Note that I am using recovery-windows.bat from Windows 10. Jimmy was using Linux VM.

I tried the following:

Apalis-iMX8_ToradexEasyInstaller_2.0b4-20191231
Apalis-iMX8_ToradexEasyInstaller_2.0b5-20200519
Apalis-iMX8_ToradexEasyInstaller_2.0b6-nightly-20200805

Our two Apalis modules are: IMXQM 4GB WB V1.0B

S/N 06506304
S/N 06548549

What shall we try next?

I had the same/similar issue a couple of days ago when trying to install the the updated TorizonCore 4.0.0-devel-202008+build.21.container

what worked for me is to keep rerunning the recovery-windows.bat script without power cycling the board. after the 4th or 5th retry i saw on the serial console that board was booting up to Tezi and then i was able to install the updated TorizonCore. i also tried to connect to the device through USB2 hub in between as it was suggested in one of the forum posts but that doesn’t seem to make sense.

I was using IMX8QM 4GB WB V1.0B board as well. I used as well apalis-imx8_toradexeasyinstaller_2.0b5-20200519

I tried many times but unfortunately this did not work for me. I tried both 2.0b4 and 2.0b5.

Just to clarify you’ve tried 2.0b4, 2.0b5, and 2.0b6 and none of them loaded properly correct? Did they all fail with the same issue or was it different for each? Have you tried loading them using a Linux machine/VM? Admittedly since most of our devs are Linux based, the script for loading Easy Installer from Linux is tested quite a bit more.

For Apalis iMX8 one really does have to use a recent nightly build. Anything else most likely will fail!

For Apalis iMX8 one really does have to use a recent nightly build. Anything else most likely will fail!

At last, with today’s nightly build TEZI is loading and properly starting on my i.MX8. the build that I used is:

Apalis-iMX8_ToradexEasyInstaller_2.0b6-nightly-20200819

Thank you all for your help.

You are very welcome and thanks for the confirmation.