NXP MCU 技术论坛
直播中

张桂英

8年用户 1604经验值
私信 关注
[问答]

i.MX8M Mini安全启动HAB错误怎么解决?

我正在开发基于 i.MX8M Mini、Yocto kirkstone、U-Boot v2021.04 的系统。它源自 imx8mm-evk 机器(在 U-​​Boot v2021.04 中,是 imx8mm-evk-qca-wifi 机器)。
我已经到达步骤 1.8“验证 HAB 事件”。我执行hab_status命令,但出现 HAB 错误:


U-Boot SPL 2021.04-imx_v2021.04_5.15.5-1.0.0+gf7b43f8b4c (Mar 01 2022 - 07:31:56 +0000)
power_bd71837_init
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0:  RNG instantiated
Normal Boot
Trying to boot from MMC2
hab fuse not enabled

Authenticate image from DDR location 0x401fcdc0...
NOTICE:  BL31: v2.4(release):lf-5.15.5-1.0.0-0-g05f788b9b-dirty
NOTICE:  BL31: Built : 05:49:10, Mar  2 2022


U-Boot 2021.04-imx_v2021.04_5.15.5-1.0.0+gf7b43f8b4c (Mar 01 2022 - 07:31:56 +0000)

CPU:   i.MX8MMQ rev1.0 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 42C
Reset cause: POR
Model: ----
DRAM:  2 GiB
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Fail to setup video link
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated

BuildInfo:
  - ATF 05f788b

flash target is MMC:2
Fastboot: Normal
Normal Boot
Autoboot in 3 seconds; press SPACE to abort
u-boot=> hab_status

Secure boot disabled

HAB Configuration: 0xf0, HAB State: 0x66

--------- HAB Event 1 -----------------
event data:
        0xdb 0x00 0x14 0x43 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x40 0x1f 0xdd 0xc0
        0x00 0x00 0x00 0x20

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 2 -----------------
event data:
        0xdb 0x00 0x14 0x43 0x33 0x0c 0xa0 0x00
        0x00 0x00 0x00 0x00 0x40 0x1f 0xcd 0xc0
        0x00 0x00 0x00 0x04

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 3 -----------------
event data:
        0xdb 0x00 0x3c 0x43 0x33 0x18 0xc0 0x00
        0xca 0x00 0x34 0x00 0x02 0xc5 0x1d 0x00
        0x00 0x00 0x0a 0x30 0x40 0x1f 0xcd 0xc0
        0x00 0x00 0x10 0x20 0x40 0x20 0x00 0x00
        0x00 0x0d 0x23 0x70 0x40 0x2d 0x23 0x70
        0x00 0x00 0xa3 0xca 0x00 0x92 0x00 0x00
        0x00 0x00 0xc0 0xc6 0xfe 0x00 0x00 0x00
        0x00 0x00 0x00 0x10

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_SIGNATURE (0x18)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)

u-boot=>


如果我理解我在其他地方读到的内容,这表明它期望一个数据块被签名,但事实并非如此。如果我正在正确读取数据,则有两个块:
  • 地址 0x401fddc0,大小 0x20
  • 地址 0x401fcdc0,大小 0x04
我有一个以下列结尾的csf_fit.txt :



[Authenticate Data]
    # Key slot index used to authenticate the image data
    Verification index = 2
    # Authenticate Start Address, Offset, Length and file
    Blocks =
        0x401fcdc0 0x57c00 0x1020 "imx-boot-machine-sd.bin-flash_evk",
        0x40200000 0x5B000 0xD2370 "imx-boot-machine-sd.bin-flash_evk",
        0x402D2370 0x12D370 0xA3CA "imx-boot-machine-sd.bin-flash_evk",
        0x920000 0x13773C 0xC0C6 "imx-boot-machine-sd.bin-flash_evk",
        0xFE000000 0x143804 0x10 "imx-boot-machine-sd.bin-flash_evk"


这些块源自 mkimage输出行 sld hab 块print_fit_hab.sh,如上述文档中所述。
那么,民政事务局似乎也希望签署的这些其他区块是什么?

更多回帖

发帖
×
20
完善资料,
赚取积分