i.MX6 U-Boot returns with warning but without any HAB event

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 U-Boot returns with warning but without any HAB event

Jump to solution
3,127 Views
ManKue
Contributor II

U-Boot: git clone -b toradex_2020.07 git://git.toradex.com/u-boot-toradex.git

Added to configs/apalis_imx6_defconfig:

CONFIG_IMX_HAB=y

CONFIG_DFU=y

CONFIG_DFU_OVER_USB=y

CONFIG_DFU_MMC=y

CONFIG_CMD_DFU=y

After running

make apalis_imx6_defconfig; make

I take SPL and u-boot-ivt.img for signing with CST tool, version 3.3.1. The respective log-files are as follows:

SPL.log:

Image Type:   Freescale IMX Boot Image

Image Ver:    2 (i.MX53/6/7 compatible)

Mode:         DCD

Data Size:    53344 Bytes = 52.09 KiB = 0.05 MiB

Load Address: 00907420

Entry Point:  00908000

HAB Blocks:   0x00907400 0x00000000 0x0000ac00

DCD Blocks:   0x0000002c 0x00910000 0x00000004

u-boot-ivt.img.log:

Image Name:   U-Boot 2020.07-07893-g72c5548771

Created:      Thu Mar 18 13:41:20 2021

Image Type:   ARM U-Boot Firmware with HABv4 IVT (uncompressed)

Data Size:    516128 Bytes = 504.03 KiB = 0.49 MiB

Load Address: 17800000

Entry Point:  17800000

HAB Blocks:   0x177fffc0   0x0000   0x0007c020 

# Hint: changing the HAB Blocks address value to 0x17800000 does not change anything

#         0x7c020 is the length of the image file, the IVT is recorded in the last 64 bytes

After successful signing both images with the following csf-file («addr», «offs», «len», «image» substituted with entries from the log files above)

[Header]

  Version = 4.2

  Hash Algorithm = sha256

  Engine = ANY

  Engine Configuration = 0

  Certificate Format = X509

  Signature Format = CMS

[Install SRK]

  File = "../crts/SRK_1_2_3_4_table.bin"

  Source index = 0

[Install CSFK]

  File = "../crts/CSF1_1_sha256_4096_65537_v3_usr_crt.pem"

[Authenticate CSF]

[Install Key]

  Verification index = 0

  Target index = 2

  File = "../crts/IMG1_1_sha256_4096_65537_v3_usr_crt.pem"

[Authenticate Data]

  Verification index = 2

..Blocks = «addr»   «offs»   «len»   «image»

I get the following result (the ‘HAB Report Status’ line has been inserted by me to get the exact result of hab_rvt_report_status):

Industrial temperature grade DDR3 timings.

Trying to boot from MMC1

hab fuse not enabled

 

 

U-Boot 2020.07-07893-g72c5548771-dirty (Mar 16 2021 - 12:30:38 +0100)

 

CPU:   Freescale i.MX6Q rev1.6 at 792MHz

CPU:   Industrial temperature grade (-40C to 105C) at 40C

Reset cause: WDOG

DRAM:  2 GiB

PMIC:  device id: 0x10, revision id: 0x21, programmed

MMC:   FSL_SDHC: 1, FSL_SDHC: 2, FSL_SDHC: 0

Loading Environment from MMC... OK

In:    serial

Out:   serial

Err:   serial

Model: Toradex Apalis iMX6 Quad 2GB IT V1.1C, Serial# 10652058

Net:   eth0: ethernet@2188000

Hit any key to stop autoboot:  0

Apalis iMX6 # hab_status

 

Secure boot disabled

 

HAB Report Status: 0x69 (MX6DQP: 0, MX6DQ, 1, SOC_REV: 0x16, HAB_RVT_BASE: 0x00000098)

 

HAB Configuration: 0xf0, HAB State: 0x66

Apalis iMX6 #

 

Result: HAB_WARNING (0x69), "No HAB Events found!" message missing

Labels (2)
0 Kudos
Reply
1 Solution
2,938 Views
ManKue
Contributor II

Finally, despite the warning I closed the board and it worked successfully

View solution in original post

0 Kudos
Reply
13 Replies
2,939 Views
ManKue
Contributor II

Finally, despite the warning I closed the board and it worked successfully

0 Kudos
Reply
3,102 Views
ManKue
Contributor II

Hi Igor,

I already tried this path, but it did not work unfortunately.

Kind regards

Manni

0 Kudos
Reply
3,051 Views
igorpadykov
NXP Employee
NXP Employee

Hi Manni

 

nxp does not support  toradex U-Boot 2020.07, please try with official nxp

uboot releases from source.codeaurora.org/external/imx repository

https://source.codeaurora.org/external/imx/uboot-imx/tree/?h=imx_v2020.04_5.4.70_2.3.0

Documentation

https://source.codeaurora.org/external/imx/uboot-imx/tree/doc/imx/habv4?h=imx_v2020.04_5.4.70_2.3.0

 

Best regards
igor

0 Kudos
Reply
3,041 Views
ManKue
Contributor II

Hi Igor,

built SPL and U-Boot according to guides/imx6_imx7_spl_secure_boot.imx. After writing to eMMC the system hangs - no reaction, no output to screen; must awake by recovery. This applies to both unsigned and signed versions

I am using apalis_imx6_defconfig modified according to doc. I think this is ok according to U-Boot output

CPU: Freescale i.MX6Q rev1.6 at 792MHz

Model: Toradex Apalis iMX6 Quad 2GB IT V1.1C, Serial# 10652058

The only thing that differs to the provided documentation, as far as I see, is the PKI tree length. I am using 4096 whereas the documentation takes 2048.

Greetings Manni

0 Kudos
Reply
3,038 Views
igorpadykov
NXP Employee
NXP Employee

Hi Manni

 

 please try original official nxp uboot, not toradex,  from source.codeaurora.org/external/imx repository

https://source.codeaurora.org/external/imx/uboot-imx/tree/?h=imx_v2020.04_5.4.70_2.3.0

Documentation

https://source.codeaurora.org/external/imx/uboot-imx/tree/doc/imx/habv4?h=imx_v2020.04_5.4.70_2.3.0

Support for non-nxp software can be provided through  https://contact.nxp.com/new-prof-svcs-sw-tech

 

Best regards
igor

0 Kudos
Reply
3,032 Views
ManKue
Contributor II

Hi Igor,

that's exactly, what I did and I got the result as described above

Kind regards Manni

0 Kudos
Reply
3,030 Views
ManKue
Contributor II

Shall I use another _defconfig fiel? Which one?

0 Kudos
Reply
3,026 Views
igorpadykov
NXP Employee
NXP Employee

please follow i.MX Yocto Project User’s Guide​

 

Best regards
igor

0 Kudos
Reply
3,024 Views
ManKue
Contributor II

Hi Igor,

so far so good. But which i.MX6 configuration shall I use for my board? Thank you

ManKue_0-1616760526848.png

ManKue_1-1616760656207.png

 

 

0 Kudos
Reply
3,017 Views
igorpadykov
NXP Employee
NXP Employee

imx6qsabresd.

 

Best regards
igor

0 Kudos
Reply
3,117 Views
igorpadykov
NXP Employee
NXP Employee
0 Kudos
Reply
3,065 Views
ManKue
Contributor II

Here the outstanding reply, why your suggested patch fails:

Apalis iMX6 # rng_self_test 20000000
SEC0: RNG instantiated
RNG SELF TEST DESCRIPTOR:
0xB0800036
0x04800010
0x3C85A15B
0x50A9D0B1
0x71A09FEE
0x2EECF20B
0x02800020
0xB267292E
0x85BF712D
0xE85FF43A
0xA716B7FB
0xC40BB528
0x27B6F564
0x8821CB5D
0x9B5F6C26
0x12A00020
0x0A20DE17
0x6529357E
0x316277AB
0x2846254E
0x34D23BA5
0x6F5E9C32
0x7ABDC1BB
0x0197A385
0x82500405
0xA2000001
0x10880004
0x00000005
0x12820004
0x00000020
0x82500001
0xA2000001
0x10880004
0x40000045
0x02800020
0x8F389CC7
0xE7F7CBB0
0x6BF2073D
0xFC380B6D
0xB22E9D1A
0xEE64FCB7
0xA2B48D49
0xDF9BC3A4
0x82500009
0xA2000001
0x10880004
0x00000005
0x82500001
0x60340020
0x20000000
0xA2000001
0x10880004
0x00000005
0x8250000D

Error while running RNG self-test descriptor: 536877395
Apalis iMX6 #

Any ideas, how to proceed?

Thank you and kind regards

Manni

0 Kudos
Reply
3,097 Views
ManKue
Contributor II

Please refer to my answer above (catched the wrong reply button)

0 Kudos
Reply