Jetson Secureboot -> Bootloop

Hi,

I am working on a yocto distribution for jetson NX. I got the basic system working and now trying to work on secure boot.

I am working of R32.5.0. I tried secureboot with nvidia ubuntu distro and it boots. But using the same jetson NX with the same keys under yocto distribution after I got the signing working the board is stuck in boot loop.

I can’t see anything obvious in the logs. Any ideas would be highly appreciated :)

��
[0000.033] W> RATCHET: MB1 binary ratchet value 4 is too large than ratchet level 2 from HW fuses.
[0000.042] I> MB1 (prd-version: 1.5.1.6-t194-41334769-1740dd39)
[0000.047] I> Boot-mode: Coldboot
[0000.050] I> Chip revision : A02P
[0000.053] I> Bootrom patch version : 15 (correctly patched)
[0000.058] I> ATE fuse revision : 0x200
[0000.062] I> Ram repair fuse : 0x0
[0000.065] I> Ram Code : 0x0
[0000.067] I> rst_source : 0x0
[0000.070] I> rst_level : 0x0
[0000.074] I> Boot-device: QSPI
[0000.076] I> Qspi flash params source = brbct
[0000.080] I> Qspi using bpmp-dma
[0000.083] I> Qspi clock source : pllp
[0000.087] I> QSPI Flash Size = 32 MB
[0000.090] I> Qspi initialized successfully
[0000.094] W> No valid slot number is found in scratch register
[0000.100] W> Return default slot: _a
[0000.103] I> Active Boot chain : 0
[0000.106] I> Boot-device: QSPI
[0000.109] I> Qspi flash params source = brbct
[0000.116] W> MB1_PLATFORM_CONFIG: device prod data is empty in MB1 BCT.
[0000.124] I> Temperature = 55000
[0000.127] W> Skipping boost for clk: BPMP_CPU_NIC
[0000.131] W> Skipping boost for clk: BPMP_APB
[0000.135] W> Skipping boost for clk: AXI_CBB
[0000.139] W> Skipping boost for clk: AON_CPU_NIC
[0000.143] W> Skipping boost for clk: CAN1
[0000.147] W> Skipping boost for clk: CAN2
[0000.151] I> Boot-device: QSPI
[0000.154] I> Boot-device: QSPI
[0000.157] I> Qspi flash params source = mb1bct
[0000.161] I> Qspi using bpmp-dma
[0000.164] I> Qspi clock source : pllc_out0
[0000.168] I> Qspi reinitialized
[0000.171] I> Qspi flash params source = mb1bct
[0000.177] I> ECC region[0]: Start:0x0, End:0x0
[0000.181] I> ECC region[1]: Start:0x0, End:0x0
[0000.186] I> ECC region[2]: Start:0x0, End:0x0
[0000.190] I> ECC region[3]: Start:0x0, End:0x0
[0000.194] I> ECC region[4]: Start:0x0, End:0x0
[0000.198] I> Non-ECC region[0]: Start:0x80000000, End:0x100000000
[0000.204] I> Non-ECC region[1]: Start:0x0, End:0x0
[0000.208] I> Non-ECC region[2]: Start:0x0, End:0x0
[0000.213] I> Non-ECC region[3]: Start:0x0, End:0x0
[0000.217] I> Non-ECC region[4]: Start:0x0, End:0x0
[0000.222] E> FAILED: Thermal config
[0000.230] E> FAILED: MEMIO rail config
[0000.240] I> Boot-device: QSPI
[0000.243] I> Qspi flash params source = mb1bct
[0000.254] I> Qspi flash params source = mb1bct
[0000.268] I> Qspi flash params source = mb1bct
[0000.350] I> Qspi flash params source = mb1bct
[0000.361] I> Qspi flash params source = mb1bct
[0000.393] I> Qspi flash params source = mb1bct
[0000.407] I> MB1 done

����main enter
SPE VERSION #: R01.00.14 Created: Sep 19 2018 @ 11:03:21
HW Function test
Start Scheduler.
in late init
��
[0000.415] I> Welcome to MB2(TBoot-BPMP) (version: 00.00.2018.32-mobile-7515048c)
[0000.416] I> DMA Heap @ [0x526fa000 - 0x52ffa000]
[0000.417] I> Default Heap @ [0xd486400 - 0xd48a400]
[0000.417] E> DEVICE_PROD: Invalid value data = 70020000, size = 0.
[0000.423] W> device prod register failed
[0000.427] I> Boot-device: QSPI
[0000.430] I> Boot_device: QSPI_FLASH instance: 0
[0000.435] I> QSPI Flash Size = 32 MB
[0000.441] I> Qspi initialized successfully
[0000.442] I> qspi flash-0 params source = boot args
[0000.826] I> sdmmc DDR50 mode
[0000.828] I> sdmmc-3 params source = safe params
[0000.833] I> Found 47 partitions in QSPI_FLASH (instance 0)
[0000.835] W> Cannot find any partition table for 00000003
[0000.844] I> Found 14 partitions in SDMMC_USER (instance 3)
[0000.845] W> No valid slot number is found in scratch register
[0000.846] W> Return default slot: _a
[0000.846] I> Active Boot chain : 0
[0000.847] I> parsing oem signed section of bpmp-fw header done
[0000.848] I> bpmp-fw binary init read from storage
[0000.851] I> RSA PSS signature check: OK
[0000.851] I> oem authentication of bpmp-fw header done
[0000.865] I> bpmp-fw binary done read from storage
[0000.866] I> bpmp-fw: Authentication init Done
[0000.867] I> parsing oem signed section of cpubl header done
[0000.870] I> cpubl binary init read from storage
[0000.879] I> bpmp-fw: Authentication Finalize Done
[0000.882] I> RSA PSS signature check: OK
[0000.883] I> oem authentication of cpubl header done
[0000.891] I> cpubl binary done read from storage
[0000.892] I> cpubl: Authentication init Done
[0000.897] I> parsing oem signed section of rce header done
[0000.902] I> rce binary init read from storage
[0000.906] I> Relocating BR-BCT
[0000.912] I> cpubl: Authentication Finalize Done
[0000.916] I> RSA PSS signature check: OK
[0000.917] I> oem authentication of rce header done
[0000.922] I> rce binary done read from storage
[0000.926] I> rce: Authentication init Done
[0000.931] I> parsing oem signed section of ape header done
[0000.936] I> ape binary init read from storage
[0000.942] I> rce: Authentication Finalize Done
[0000.946] I> RSA PSS signature check: OK
[0000.948] I> oem authentication of ape header done
[0000.953] I> ape binary done read from storage
[0000.957] I> ape: Authentication init Done
[0000.961] I> parsing oem signed section of tos header done
[0000.966] I> tos binary init read from storage
[0000.971] I> ape: Authentication Finalize Done
[0000.977] I> RSA PSS signature check: OK
[0000.978] I> oem authentication of tos header done
[0000.985] I> tos binary done read from storage
[0000.987] I> tos: Authentication init Done
[0000.992] I> parsing oem signed section of bpmp-fw-dtb header done
[0000.997] I> bpmp-fw-dtb binary init read from storage
[0001.004] I> tos: Authentication Finalize Done
[0001.010] I> RSA PSS signature check: OK
[0001.011] I> oem authentication of bpmp-fw-dtb header done
[0001.016] I> bpmp-fw-dtb binary done read from storage
[0001.021] I> bpmp-fw-dtb: Authentication init Done
[0001.026] I> parsing oem signed section of cpubl-dtb header done
[0001.031] I> cpubl-dtb binary init read from storage
[0001.037] I> bpmp-fw-dtb: Authentication Finalize Done
[0001.096] I> RSA PSS signature check: OK
[0001.096] I> oem authentication of cpubl-dtb header done
[0001.097] I> cpubl-dtb binary done read from storage
[0001.097] I> cpubl-dtb: Authentication init Done
[0001.098] I> parsing oem signed section of eks header done
[0001.099] I> eks binary init read from storage
[0001.101] I> cpubl-dtb: Authentication Finalize Done
[0001.106] I> RSA PSS signature check: OK
[0001.107] I> oem authentication of eks header done
[0001.112] I> eks binary done read from storage
[0001.116] I> eks: Authentication init Done
[0001.121] I> eks: Authentication Finalize Done
[0001.124] I> EKB detected (length: 0x410) @ VA:0x5270a400
��NOTICE:  BL31: v1.3(release):5b49e7f80
NOTICE:  BL31: Built : 08:54:10, Jul  9 2021
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 40: hwkey-agent is running!!
hwkey-agent: 197: key_mgnt_processing .......
hwkey-agent: 162: ekb_verification: EKB_CMAC verification is not match.
hwkey-agent: 240: key_mgnt_processing: failed (-7)
hwkey-agent: 44: main: Failed to verify or extract EKB (-7).
exit called, thread 0xffffffffea8a2d58, name trusty_app_2_92b92883-f96a-4177
luks-srv: 40: luks-srv is running!!
platform_bootstrap_epilog: trusty bootstrap complete
��

welcome to lk
calling constructors
initializing heap
creating bootstrap completion thread
top of bootstrap2()
initializing platform
bpmp: platform_init
tag is e73a758761f0c6d24a1e69a2ac6b5035
tag_show initialized
dt initialized
mail initialized
chipid initialized
fuse initialized
sku initialized
speedo initialized
ec_get_ec_list: found 45 ecs
ec initialized
ec_mrq initialized
vmon_populate_monitors: found 3 monitors
vmon initialized
adc initialized
fmon_populate_monitors: found 73 monitors
fmon initialized
fmon_mrq initialized
reset initialized
nvhs initialized
391 clocks registered
clk_mrq_init: mrq handler registered
clk initialized
nvlink initialized
io_dpd initialized
io_dpd initialized
thermal initialized
i2c5 controller initialized
initialized i2c mrq handling
i2c initialized
regulator initialized
avfs_clk_platform_init: bad clk id in clock@cluster1_avfs
avfs_clk_platform initialized
soctherm initialized
aotag initialized
powergate initialized
dvs initialized
pm initialized
pg_late initialized
strap initialized
tag initialized
emc initialized
clk_dt initialized
avfs_ccplex_platform initialized
tj_max: dt node not found
tj_init initialized
uphy_mrq_init: mrq handler registered
uphy_dt initialized
uphy initialized
safereg_init: period 80 ms
ec_late initialized
��
��mrq initialized
��[0001.466] I> Welcome to Cboot
��WARNING: no registered clock for FMON_NAFLL_CLUSTER1 (id 281)
fmon_post initialized
��[0001.466] I> Cboot Version: 32.05.02-evologics-t194-a4996282
[0001.470] I> CPU-BL Params @ 0xf2820000
[0001.474] I>  0) Base:0x00000000 Size:0x00000000
[0001.478] I>  1) Base:0xf1100000 Size:0x00100000
[0001.483] I>  2) Base:0xf2000000 Size:0x00200000
��clk_set_parent failed for clk i2c2, parent pll_aon (-22)
clk_set_parent failed for clk i2c8, parent pll_aon (-22)
clk_dt_late initialized
machine_check initialized
pm_post initialized
dbells initialized
avfs_clk_platform_post initialized
dmce initialized
cvc initialized
ccplex_avfs_hw_init: nafll_cluster0: not monitored
ccplex_avfs_hw_init: nafll_cluster2: not monitored
ccplex_avfs_hw_init: nafll_cluster3: not monitored
avfs_clk_mach_post initialized
regulator_post initialized
rm initialized
sc7_diag initialized
thermal_test initialized
serial_late initialized
clk_post initialized
clk_dt_post initialized
mc_reg initialized
pg_post initialized
dyn_modules initialized
sku_debugfs initialized
speedo_debugfs initialized
adc_debugfs initialized
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
clk_debugfs initialized
emc_debugfs initialized
dvs_debugfs initialized
fmon_debugfs_init_one: no clock debugfs node to attach FMON_NAFLL_CLUSTER1
fmon_debugfs initialized
vmon_debugfs initialized
pg_debugfs initialized
profile_fs initialized
debugfs_cons initialized
mail_fs initialized
profile initialized
cvc_debugfs initialized
dmce_debugfs initialized
ec_debugfs initialized
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_debugfs initialized
soctherm_debug initialized
gr_reader initialized
mods initialized
dt_fs initialized
debugfs_mrq initialized
debug_mrq initialized
debug_safereg initialized
initializing target
calling apps_init()
starting app shell
entering main console loop
] ��[0001.487] I>  3) Base:0xf1200000 Size:0x00200000
[0001.641] I>  4) Base:0xf1000000 Size:0x00100000
[0001.646] I>  5) Base:0xf0f00000 Size:0x00100000
[0001.650] I>  6) Base:0xf3800000 Size:0x00400000
[0001.655] I>  7) Base:0xf1c00000 Size:0x00400000
[0001.659] I>  8) Base:0xf0e00000 Size:0x00100000
[0001.663] I>  9) Base:0xf0d00000 Size:0x00100000
[0001.668] I> 10) Base:0xf3000000 Size:0x00800000
[0001.672] I> 11) Base:0x40000000 Size:0x00040000
[0001.677] I> 12) Base:0xf0c00000 Size:0x00100000
[0001.681] I> 13) Base:0x40046000 Size:0x00002000
[0001.686] I> 14) Base:0x40048000 Size:0x00002000
[0001.690] I> 15) Base:0xac000000 Size:0x00004000
[0001.695] I> 16) Base:0x4004a000 Size:0x00002000
[0001.699] I> 17) Base:0xf0b00000 Size:0x00100000
[0001.704] I> 18) Base:0x4004c000 Size:0x00002000
[0001.708] I> 19) Base:0xf2200000 Size:0x00600000
[0001.713] I> 20) Base:0x4004e000 Size:0x00002000
[0001.717] I> 21) Base:0xf0ad0000 Size:0x0000c000
[0001.721] I> 22) Base:0x00000000 Size:0x00000000
[0001.726] I> 23) Base:0xf0ae0000 Size:0x00020000
[0001.730] I> 24) Base:0xf6000000 Size:0x02000000
[0001.735] I> 25) Base:0x40050000 Size:0x00002000
[0001.739] I> 26) Base:0x40040000 Size:0x00006000
[0001.744] I> 27) Base:0xf1800000 Size:0x00400000
[0001.748] I> 28) Base:0xf4c00000 Size:0x01400000
[0001.753] I> 29) Base:0xf1400000 Size:0x00400000
[0001.757] I> 30) Base:0x00000000 Size:0x00000000
[0001.762] I> 31) Base:0x00000000 Size:0x00000000
[0001.766] I> 32) Base:0xf8000000 Size:0x08000000
[0001.771] I> 33) Base:0x00000000 Size:0x00000000
[0001.775] I> 34) Base:0xf3c00000 Size:0x01000000
[0001.780] I> 35) Base:0xab000000 Size:0x01000000
[0001.784] I> 36) Base:0xa0000000 Size:0x0b000000
[0001.788] I> 37) Base:0xf2800000 Size:0x00800000
[0001.793] I> 38) Base:0x80000000 Size:0x20000000
[0001.797] I> 39) Base:0xb0000000 Size:0x08000000
[0001.802] I> 40) Base:0x00000000 Size:0x00000000
[0001.806] I> 41) Base:0x00000000 Size:0x00000000
[0001.811] I> 42) Base:0x00000000 Size:0x00000000
[0001.815] I> 43) Base:0x00000000 Size:0x00000000
[0001.820] I> 44) Base:0x00000000 Size:0x00000000
[0001.824] I> 45) Base:0x00000000 Size:0x00000000
[0001.829] GIC-SPI Target CPU: 0
[0001.832] Interrupts Init done
[0001.834] calling constructors
[0001.837] initializing heap
[0001.840] I> Heap: [0xa0695618 ... 0xab000000]
[0001.844] initializing threads
[0001.847] initializing timers
[0001.850] creating bootstrap completion thread
[0001.854] top of bootstrap2()
[0001.857] CPU: MIDR: 0x4E0F0040, MPIDR: 0x80000000
[0001.862] initializing platform
[0001.865] E> DEVICE_PROD: Invalid value data = 0, size = 0.
[0001.870] W> device prod register failed
[0001.874] I> Bl_dtb @0xaaf00000
[0001.879] W> "plugin-manager" doesn't exist, creating
[0001.882] W> "ids" doesn't exist, creating
[0001.886] W> "connection" doesn't exist, creating
[0001.890] W> "configs" doesn't exist, creating
[0001.900] I> Find /i2c@3160000's alias i2c0
[0001.900] I> Reading eeprom i2c=0 address=0x50
[0001.928] I> Device at /i2c@3160000:0x50
[0001.928] I> Reading eeprom i2c=0 address=0x57
[0001.953] I> Device at /i2c@3160000:0x57
[0001.954] I> Find /i2c@c240000's alias i2c1
[0001.955] I> Reading eeprom i2c=1 address=0x50
[0001.956] E> I2C: slave not found in slaves.
[0001.957] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.958] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.958] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 1.
[0001.967] E> eeprom: Retry to read I2C slave device.
[0001.972] E> I2C: slave not found in slaves.
[0001.976] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.984] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.989] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 1.
[0001.999] E> eeprom: Failed to read I2C slave device
[0002.004] I> Eeprom read failed 0x3526070d
[0002.008] I> create_pm_ids: id: 3668-0001-300-B, len: 15
[0002.013] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0002.024] I> create_pm_ids: id: 3509-0000-100-G, len: 15
[0002.029] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0002.040] I> Adding plugin-manager/ids/3668-0001-300=/i2c@3160000:module@0x50
[0002.048] W> "i2c@3160000" doesn't exist, creating
[0002.052] W> "module@0x50" doesn't exist, creating
[0002.056] I> Adding plugin-manager/ids/3509-0000-100=/i2c@3160000:module@0x57
[0002.063] W> "module@0x57" doesn't exist, creating
[0002.069] I> Adding plugin-manager/cvm
[0002.072] W> "chip-id" doesn't exist, creating
[0002.076] I> Adding plugin-manager/chip-id/A02P
[0002.080] I> Plugin-manager override starting
[0002.085] I> node /plugin-manager/fragment-pcie-c5-rp matches
[0002.096] I> node /plugin-manager/fragement-tegra-wdt-en matches
[0002.100] I> node /plugin-manager/fragement-tegra-sdhci-sd-dis matches
[0002.105] I> Disable plugin-manager status in FDT
[0002.107] I> Plugin-manager override finished successfully
[0002.112] I> gpio framework initialized
[0002.117] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio' driver
[0002.124] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio-aon' driver
[0002.131] I> tegrabl_tca9539_init: i2c bus: 1, slave addr: 0x46
[0002.138] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0002.146] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0002.153] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0002.159] I> tegrabl_tca9539_init: i2c bus: 1, slave addr: 0x44
[0002.165] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0002.173] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0002.180] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0002.187] I> fixed regulator driver initialized
[0002.194] I> register 'maxim' power off handle
[0002.195] I> virtual i2c enabled
[0002.198] I> registered 'maxim,max20024' pmic
[0002.202] I> tegrabl_gpio_driver_register: register 'max20024-gpio' driver
[0002.209] I> Boot-device: QSPI
[0002.212] I> Boot_device: QSPI_FLASH instance: 0
[0002.217] I> QSPI source rate = 204000 Khz
[0002.220] I> Requested rate for QSPI clock = 34000 Khz
[0002.225] I> BPMP-set rate for QSPI clk = 34000 Khz
[0002.230] I> QSPI Flash Size = 32 MB
[0002.238] I> Qspi initialized successfully
[0002.238] I> qspi flash-0 params source = boot args
[0002.242] I> create_pm_ids: id: 3668-0001-300-B, len: 15
[0002.247] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0002.258] I> create_pm_ids: id: 3509-0000-100-G, len: 15
[0002.263] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0002.279] I> sdmmc-3 params source = safe params
[0002.281] I> Found 47 partitions in QSPI_FLASH (instance 0)
[0002.300] W> Cannot find any partition table for 00000003
[0002.313] I> Found 14 partitions in SDMMC_USER (instance 3)
[0002.316] E> cannot find any other nvdisp nodes
[0002.317] E> no valid display unit config found in dtb
[0002.318] W> display init failed
[0002.318] I> Load in CBoot Boot Options partition and parse it
[0002.319] W> No valid slot number is found in scratch register
[0002.319] W> Return default slot: _a
[0002.322] I> Active slot suffix: 
[0002.326] I> boot-order :-
[0002.328] I> 1.sd
[0002.330] I> 2.emmc
[0002.332] W> parse_ip_info: tftp-server-ip info not found in CBO options file
[0002.339] W> parse_ip_info: static-ip info not found in CBO options file
[0002.345] W> Failed to parse GUID
[0002.348] I> boot-dev-order :-
[0002.351] I> 1.sd
[0002.353] I> 2.emmc
[0002.355] I> Hit any key to stop autoboot:	4	3	2	1
[0004.363] initializing target
[0004.363] calling apps_init()
[0004.364] starting app kernel_boot_app
[0004.365] W> No valid slot number is found in scratch register
[0004.366] W> Return default slot: _a
[0004.375] I> found decompressor handler: lz4-legacy
[0004.376] I> decompressing BMP blob ...
[0004.388] I> Kernel type = Normal
[0004.388] I> Loading kernel-bootctrl from partition
[0004.389] I> Loading partition kernel-bootctrl at 0xa42d0000 from device(0x1)
[0004.397] W> tegrabl_get_kernel_bootctrl: magic number(0x00000000) is invalid
[0004.397] W> tegrabl_get_kernel_bootctrl: use default dummy boot control data
[0004.398] I> ########## SD (0) boot ##########
[0004.399] W> Error: failed to get sd-card params
[0004.402] I> -0 params source = 
[0004.405] W> Failed to initialize device 6-0
[0004.409] E> SD boot failed, err: 252641293
[0004.413] I> ########## Fixed storage boot ##########
[0004.418] I> Already published: 00010003
[0004.422] I> Look for boot partition
[0004.425] I> Fallback: assuming 0th partition is boot partition
[0004.431] I> Detect filesystem
[0004.458] I> Loading extlinux.conf ...
[0004.459] I> rootfs path: /sdmmc_user/boot/extlinux/extlinux.conf
[0004.568] I> ext4_read_file:720: not a file, mode: 0x41ed
[0004.568] E> file /sdmmc_user/boot/extlinux/extlinux.conf read failed!!
[0004.569] E> Failed to find/load /boot/extlinux/extlinux.conf
[0004.569] I> Fallback: Load binaries from partition
[0004.569] W> No valid slot number is found in scratch register
[0004.570] W> Return default slot: _a
[0004.574] I> A/B: bin_type (37) slot 0
[0004.577] I> Loading kernel from partition
[0004.581] I> Loading partition kernel at 0xa42d0000 from device(0x1)
[0005.329] I> Validate kernel ...
[0005.329] I> T19x: Authenticate kernel (bin_type: 37), max size 0x5000000
[0005.331] I> RSA PSS signature check: OK
[0005.690] W> keyslot 14 is zero
[0005.705] I> Checking boot.img header magic ... [0005.705] E> Invalid header magic
[0005.705] E> Storage boot failed, err: 724238360
��
[0000.033] W> RATCHET: MB1 binary ratchet value 4 is too large than ratchet level 2 from HW fuses.
[0000.042] I> MB1 (prd-version: 1.5.1.6-t194-41334769-1740dd39)
[0000.047] I> Boot-mode: Coldboot
[0000.050] I> Chip revision : A02P
[0000.053] I> Bootrom patch version : 15 (correctly patched)
[0000.058] I> ATE fuse revision : 0x200
[0000.062] I> Ram repair fuse : 0x0
[0000.065] I> Ram Code : 0x0
[0000.068] I> rst_source : 0xb
[0000.070] I> rst_level : 0x1
[0000.074] I> Boot-device: QSPI
[0000.076] I> Qspi flash params source = brbct
[0000.081] I> Qspi using bpmp-dma
[0000.083] I> Qspi clock source : pllp
[0000.087] I> QSPI Flash Size = 32 MB
[0000.090] I> Qspi initialized successfully
[0000.094] W> No valid slot number is found in scratch register
[0000.100] W> Return default slot: _a
[0000.103] I> Active Boot chain : 0
[0000.106] I> Boot-device: QSPI
[0000.109] I> Qspi flash params source = brbct
[0000.116] W> MB1_PLATFORM_CONFIG: device prod data is empty in MB1 BCT.
[0000.122] I> Temperature = 58500
[0000.125] W> Skipping boost for clk: BPMP_CPU_NIC
[0000.130] W> Skipping boost for clk: BPMP_APB
[0000.134] W> Skipping boost for clk: AXI_CBB
[0000.138] W> Skipping boost for clk: AON_CPU_NIC
[0000.142] W> Skipping boost for clk: CAN1
[0000.146] W> Skipping boost for clk: CAN2
[0000.150] I> Boot-device: QSPI
[0000.153] I> Boot-device: QSPI
[0000.155] I> Qspi flash params source = mb1bct
[0000.160] I> Qspi using bpmp-dma
[0000.162] I> Qspi clock source : pllc_out0
[0000.166] I> Qspi reinitialized
[0000.169] I> Qspi flash params source = mb1bct
[0000.176] I> ECC region[0]: Start:0x0, End:0x0
[0000.180] I> ECC region[1]: Start:0x0, End:0x0
[0000.184] I> ECC region[2]: Start:0x0, End:0x0
[0000.188] I> ECC region[3]: Start:0x0, End:0x0
[0000.192] I> ECC region[4]: Start:0x0, End:0x0
[0000.196] I> Non-ECC region[0]: Start:0x80000000, End:0x100000000
[0000.202] I> Non-ECC region[1]: Start:0x0, End:0x0
[0000.207] I> Non-ECC region[2]: Start:0x0, End:0x0
[0000.211] I> Non-ECC region[3]: Start:0x0, End:0x0
[0000.216] I> Non-ECC region[4]: Start:0x0, End:0x0
[0000.221] E> FAILED: Thermal config
[0000.228] E> FAILED: MEMIO rail config
[0000.238] I> Boot-device: QSPI
[0000.241] I> Qspi flash params source = mb1bct
[0000.252] I> Qspi flash params source = mb1bct
[0000.267] I> Qspi flash params source = mb1bct
[0000.349] I> Qspi flash params source = mb1bct
[0000.360] I> Qspi flash params source = mb1bct
[0000.391] I> Qspi flash params source = mb1bct
[0000.406] I> MB1 done

����main enter
SPE VERSION #: R01.00.14 Created: Sep 19 2018 @ 11:03:21
HW Function test
Start Scheduler.
in late init
��
[0000.414] I> Welcome to MB2(TBoot-BPMP) (version: 00.00.2018.32-mobile-7515048c)
[0000.415] I> DMA Heap @ [0x526fa000 - 0x52ffa000]
[0000.415] I> Default Heap @ [0xd486400 - 0xd48a400]
[0000.416] E> DEVICE_PROD: Invalid value data = 70020000, size = 0.
[0000.422] W> device prod register failed
[0000.426] I> Boot-device: QSPI
[0000.429] I> Boot_device: QSPI_FLASH instance: 0
[0000.434] I> QSPI Flash Size = 32 MB
[0000.439] I> Qspi initialized successfully
[0000.440] I> qspi flash-0 params source = boot args
[0000.764] I> sdmmc DDR50 mode
[0000.766] I> sdmmc-3 params source = safe params
[0000.771] I> Found 47 partitions in QSPI_FLASH (instance 0)
[0000.773] W> Cannot find any partition table for 00000003
[0000.780] I> Found 14 partitions in SDMMC_USER (instance 3)
[0000.781] W> No valid slot number is found in scratch register
[0000.781] W> Return default slot: _a
[0000.781] I> Active Boot chain : 0
[0000.782] I> parsing oem signed section of bpmp-fw header done
[0000.783] I> bpmp-fw binary init read from storage
[0000.788] I> RSA PSS signature check: OK
[0000.789] I> oem authentication of bpmp-fw header done
[0000.803] I> bpmp-fw binary done read from storage
[0000.804] I> bpmp-fw: Authentication init Done
[0000.805] I> parsing oem signed section of cpubl header done
[0000.809] I> cpubl binary init read from storage
[0000.817] I> bpmp-fw: Authentication Finalize Done
[0000.820] I> RSA PSS signature check: OK
[0000.821] I> oem authentication of cpubl header done
[0000.829] I> cpubl binary done read from storage
[0000.831] I> cpubl: Authentication init Done
[0000.835] I> parsing oem signed section of rce header done
[0000.840] I> rce binary init read from storage
[0000.845] I> Relocating BR-BCT
[0000.850] I> cpubl: Authentication Finalize Done
[0000.854] I> RSA PSS signature check: OK
[0000.855] I> oem authentication of rce header done
[0000.861] I> rce binary done read from storage
[0000.865] I> rce: Authentication init Done
[0000.869] I> parsing oem signed section of ape header done
[0000.874] I> ape binary init read from storage
[0000.880] I> rce: Authentication Finalize Done
[0000.885] I> RSA PSS signature check: OK
[0000.886] I> oem authentication of ape header done
[0000.891] I> ape binary done read from storage
[0000.895] I> ape: Authentication init Done
[0000.899] I> parsing oem signed section of tos header done
[0000.904] I> tos binary init read from storage
[0000.910] I> ape: Authentication Finalize Done
[0000.916] I> RSA PSS signature check: OK
[0000.917] I> oem authentication of tos header done
[0000.924] I> tos binary done read from storage
[0000.926] I> tos: Authentication init Done
[0000.930] I> parsing oem signed section of bpmp-fw-dtb header done
[0000.936] I> bpmp-fw-dtb binary init read from storage
[0000.943] I> tos: Authentication Finalize Done
[0000.949] I> RSA PSS signature check: OK
[0000.949] I> oem authentication of bpmp-fw-dtb header done
[0000.954] I> bpmp-fw-dtb binary done read from storage
[0000.959] I> bpmp-fw-dtb: Authentication init Done
[0000.964] I> parsing oem signed section of cpubl-dtb header done
[0000.970] I> cpubl-dtb binary init read from storage
[0000.976] I> bpmp-fw-dtb: Authentication Finalize Done
[0001.033] I> RSA PSS signature check: OK
[0001.034] I> oem authentication of cpubl-dtb header done
[0001.034] I> cpubl-dtb binary done read from storage
[0001.035] I> cpubl-dtb: Authentication init Done
[0001.036] I> parsing oem signed section of eks header done
[0001.037] I> eks binary init read from storage
[0001.038] I> cpubl-dtb: Authentication Finalize Done
[0001.043] I> RSA PSS signature check: OK
[0001.045] I> oem authentication of eks header done
[0001.049] I> eks binary done read from storage
[0001.054] I> eks: Authentication init Done
[0001.058] I> eks: Authentication Finalize Done
[0001.062] I> EKB detected (length: 0x410) @ VA:0x5270a400
��NOTICE:  BL31: v1.3(release):5b49e7f80
NOTICE:  BL31: Built : 08:54:10, Jul  9 2021
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 40: hwkey-agent is running!!
hwkey-agent: 197: key_mgnt_processing .......
hwkey-agent: 162: ekb_verification: EKB_CMAC verification is not match.
hwkey-agent: 240: key_mgnt_processing: failed (-7)
hwkey-agent: 44: main: Failed to verify or extract EKB (-7).
exit called, thread 0xffffffffea8a2d58, name trusty_app_2_92b92883-f96a-4177
luks-srv: 40: luks-srv is running!!
platform_bootstrap_epilog: trusty bootstrap complete
��

welcome to lk
calling constructors
initializing heap
creating bootstrap completion thread
top of bootstrap2()
initializing platform
bpmp: platform_init
tag is e73a758761f0c6d24a1e69a2ac6b5035
tag_show initialized
dt initialized
mail initialized
chipid initialized
fuse initialized
sku initialized
speedo initialized
ec_get_ec_list: found 45 ecs
ec initialized
ec_mrq initialized
vmon_populate_monitors: found 3 monitors
vmon initialized
adc initialized
fmon_populate_monitors: found 73 monitors
fmon initialized
fmon_mrq initialized
reset initialized
nvhs initialized
391 clocks registered
clk_mrq_init: mrq handler registered
clk initialized
nvlink initialized
io_dpd initialized
io_dpd initialized
thermal initialized
i2c5 controller initialized
initialized i2c mrq handling
i2c initialized
regulator initialized
avfs_clk_platform_init: bad clk id in clock@cluster1_avfs
avfs_clk_platform initialized
soctherm initialized
aotag initialized
powergate initialized
dvs initialized
pm initialized
pg_late initialized
strap initialized
tag initialized
emc initialized
clk_dt initialized
avfs_ccplex_platform initialized
tj_max: dt node not found
tj_init initialized
uphy_mrq_init: mrq handler registered
uphy_dt initialized
uphy initialized
safereg_init: period 80 ms
ec_late initialized
��
��mrq initialized
��[0001.403] I> Welcome to Cboot
��WARNING: no registered clock for FMON_NAFLL_CLUSTER1 (id 281)
fmon_post initialized
��[0001.403] I> Cboot Version: 32.05.02-evologics-t194-a4996282
[0001.407] I> CPU-BL Params @ 0xf2820000
[0001.411] I>  0) Base:0x00000000 Size:0x00000000
[0001.415] I>  1) Base:0xf1100000 Size:0x00100000
[0001.420] I>  2) Base:0xf2000000 Size:0x00200000
��clk_set_parent failed for clk i2c2, parent pll_aon (-22)
clk_set_parent failed for clk i2c8, parent pll_aon (-22)
clk_dt_late initialized
machine_check initialized
pm_post initialized
dbells initialized
avfs_clk_platform_post initialized
dmce initialized
cvc initialized
ccplex_avfs_hw_init: nafll_cluster0: not monitored
ccplex_avfs_hw_init: nafll_cluster2: not monitored
ccplex_avfs_hw_init: nafll_cluster3: not monitored
avfs_clk_mach_post initialized
regulator_post initialized
rm initialized
sc7_diag initialized
thermal_test initialized
serial_late initialized
clk_post initialized
clk_dt_post initialized
mc_reg initialized
pg_post initialized
dyn_modules initialized
sku_debugfs initialized
speedo_debugfs initialized
adc_debugfs initialized
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
clk_debugfs initialized
emc_debugfs initialized
dvs_debugfs initialized
fmon_debugfs_init_one: no clock debugfs node to attach FMON_NAFLL_CLUSTER1
fmon_debugfs initialized
vmon_debugfs initialized
pg_debugfs initialized
profile_fs initialized
debugfs_cons initialized
mail_fs initialized
profile initialized
cvc_debugfs initialized
dmce_debugfs initialized
ec_debugfs initialized
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_debugfs initialized
soctherm_debug initialized
gr_reader initialized
mods initialized
dt_fs initialized
debugfs_mrq initialized
debug_mrq initialized
debug_safereg initialized
initializing target
calling apps_init()
starting app shell
entering main console loop
] ��[0001.424] I>  3) Base:0xf1200000 Size:0x00200000
[0001.578] I>  4) Base:0xf1000000 Size:0x00100000
[0001.583] I>  5) Base:0xf0f00000 Size:0x00100000
[0001.587] I>  6) Base:0xf3800000 Size:0x00400000
[0001.592] I>  7) Base:0xf1c00000 Size:0x00400000
[0001.596] I>  8) Base:0xf0e00000 Size:0x00100000
[0001.601] I>  9) Base:0xf0d00000 Size:0x00100000
[0001.605] I> 10) Base:0xf3000000 Size:0x00800000
[0001.610] I> 11) Base:0x40000000 Size:0x00040000
[0001.614] I> 12) Base:0xf0c00000 Size:0x00100000
[0001.619] I> 13) Base:0x40046000 Size:0x00002000
[0001.623] I> 14) Base:0x40048000 Size:0x00002000
[0001.628] I> 15) Base:0xac000000 Size:0x00004000
[0001.632] I> 16) Base:0x4004a000 Size:0x00002000
[0001.636] I> 17) Base:0xf0b00000 Size:0x00100000
[0001.641] I> 18) Base:0x4004c000 Size:0x00002000
[0001.645] I> 19) Base:0xf2200000 Size:0x00600000
[0001.650] I> 20) Base:0x4004e000 Size:0x00002000
[0001.654] I> 21) Base:0xf0ad0000 Size:0x0000c000
[0001.659] I> 22) Base:0x00000000 Size:0x00000000
[0001.663] I> 23) Base:0xf0ae0000 Size:0x00020000
[0001.668] I> 24) Base:0xf6000000 Size:0x02000000
[0001.672] I> 25) Base:0x40050000 Size:0x00002000
[0001.677] I> 26) Base:0x40040000 Size:0x00006000
[0001.681] I> 27) Base:0xf1800000 Size:0x00400000
[0001.686] I> 28) Base:0xf4c00000 Size:0x01400000
[0001.690] I> 29) Base:0xf1400000 Size:0x00400000
[0001.694] I> 30) Base:0x00000000 Size:0x00000000
[0001.699] I> 31) Base:0x00000000 Size:0x00000000
[0001.703] I> 32) Base:0xf8000000 Size:0x08000000
[0001.708] I> 33) Base:0x00000000 Size:0x00000000
[0001.712] I> 34) Base:0xf3c00000 Size:0x01000000
[0001.717] I> 35) Base:0xab000000 Size:0x01000000
[0001.721] I> 36) Base:0xa0000000 Size:0x0b000000
[0001.726] I> 37) Base:0xf2800000 Size:0x00800000
[0001.730] I> 38) Base:0x80000000 Size:0x20000000
[0001.735] I> 39) Base:0xb0000000 Size:0x08000000
[0001.739] I> 40) Base:0x00000000 Size:0x00000000
[0001.744] I> 41) Base:0x00000000 Size:0x00000000
[0001.748] I> 42) Base:0x00000000 Size:0x00000000
[0001.752] I> 43) Base:0x00000000 Size:0x00000000
[0001.757] I> 44) Base:0x00000000 Size:0x00000000
[0001.761] I> 45) Base:0x00000000 Size:0x00000000
[0001.766] GIC-SPI Target CPU: 0
[0001.769] Interrupts Init done
[0001.772] calling constructors
[0001.775] initializing heap
[0001.777] I> Heap: [0xa0695618 ... 0xab000000]
[0001.782] initializing threads
[0001.784] initializing timers
[0001.787] creating bootstrap completion thread
[0001.792] top of bootstrap2()
[0001.794] CPU: MIDR: 0x4E0F0040, MPIDR: 0x80000000
[0001.799] initializing platform
[0001.802] E> DEVICE_PROD: Invalid value data = 0, size = 0.
[0001.807] W> device prod register failed
[0001.811] I> Bl_dtb @0xaaf00000
[0001.816] W> "plugin-manager" doesn't exist, creating
[0001.819] W> "ids" doesn't exist, creating
[0001.823] W> "connection" doesn't exist, creating
[0001.827] W> "configs" doesn't exist, creating
[0001.836] I> Find /i2c@3160000's alias i2c0
[0001.836] I> Reading eeprom i2c=0 address=0x50
[0001.865] I> Device at /i2c@3160000:0x50
[0001.866] I> Reading eeprom i2c=0 address=0x57
[0001.890] I> Device at /i2c@3160000:0x57
[0001.892] I> Find /i2c@c240000's alias i2c1
[0001.892] I> Reading eeprom i2c=1 address=0x50
[0001.894] E> I2C: slave not found in slaves.
[0001.894] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.895] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.896] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 1.
[0001.904] E> eeprom: Retry to read I2C slave device.
[0001.909] E> I2C: slave not found in slaves.
[0001.913] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.921] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.926] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 1.
[0001.936] E> eeprom: Failed to read I2C slave device
[0001.941] I> Eeprom read failed 0x3526070d
[0001.945] I> create_pm_ids: id: 3668-0001-300-B, len: 15
[0001.950] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0001.961] I> create_pm_ids: id: 3509-0000-100-G, len: 15
[0001.966] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0001.977] I> Adding plugin-manager/ids/3668-0001-300=/i2c@3160000:module@0x50
[0001.985] W> "i2c@3160000" doesn't exist, creating
[0001.989] W> "module@0x50" doesn't exist, creating
[0001.994] I> Adding plugin-manager/ids/3509-0000-100=/i2c@3160000:module@0x57
[0002.001] W> "module@0x57" doesn't exist, creating
[0002.007] I> Adding plugin-manager/cvm
[0002.009] W> "chip-id" doesn't exist, creating
[0002.013] I> Adding plugin-manager/chip-id/A02P
[0002.017] I> Plugin-manager override starting
[0002.022] I> node /plugin-manager/fragment-pcie-c5-rp matches
[0002.030] I> node /plugin-manager/fragement-tegra-wdt-en matches
[0002.036] I> node /plugin-manager/fragement-tegra-sdhci-sd-dis matches
[0002.043] I> Disable plugin-manager status in FDT
[0002.044] I> Plugin-manager override finished successfully
[0002.049] I> gpio framework initialized
[0002.054] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio' driver
[0002.061] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio-aon' driver
[0002.068] I> tegrabl_tca9539_init: i2c bus: 1, slave addr: 0x46
[0002.075] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539

Moving you to the Jetson NX forums

hello llewellyn.fernandes,

I’ve went through the logs quickly, and there’re some failures.
such as…

may I know is this a Xavier NX with internal eMMC?
you may also double check you’ve using the same key for fuse burning and image flashing.
thanks

Hi @JerryChang

I am using Jetson NX with EMMC. I have burnet PKC, SBK,KEK2,KEK256 and production fuses.

I tried generating the eks.img using
python3 gen_ekb.py -kek2_key <kek2_fuse_key_file>
-fv <fv_for_ekb_ek>
-in_sym_key <sym_key_file>
-in sym_key2 <sym2_key_file>
-out <eks_image_file>\

I uses the kek2_key the same as the one burnt to fuses and in_sym_key same as the user_key used for kernel, kenel_dtb and initrd encryption and in_sym_key2 was generated. but this is not burnt in any fuse.

i am not sure how to generate the fv_for_ekb_ek. does it need to be something derived from the fuses?

i then copied this eks.img to bootloader folder and reflashed the board. but I still get

NOTICE:  BL31: Built : 08:54:10, Jul  9 2021
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 40: hwkey-agent is running!!
hwkey-agent: 197: key_mgnt_processing .......
hwkey-agent: 162: ekb_verification: EKB_CMAC verification is not match.
hwkey-agent: 240: key_mgnt_processing: failed (-7)
hwkey-agent: 44: main: Failed to verify or extract EKB (-7).
exit called, thread 0xffffffffea8a2d58, name trusty_app_2_92b92883-f96a-4177
luks-srv: 40: luks-srv is running!!
platform_bootstrap_epilog: trusty bootstrap complete

I am using R32.5.2

Regards
Llewellyn Fernandes

hello llewellyn.fernandes,

please execute odmfuseread.sh to examine the fuse info from the target board.
you may put the device enter forced-recovery mode and run this script for reading fuse values.

please see-also KDF of Fuse Keys for creating fv_for_ekb_ek.
on the other hand, please see-also CA example, trusty/app/nvidia-sample/hwkey-agent/CA_sample/tool/gen_ekb/example.sh to generate eks.img
the user_key is specified in eks.img, the sym.key here is the user_key we’re talking about.
you have to generate eks.img with the user_key, and copy it to bootloader folder for image flashing,
for image flashing pipeline, you’ll also need to enable --user_key options to specify the user provided key file (16-byte) to encrypt user images.

please have a try,
thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.