Orin NX capsule update failed

Hi

According to the spec " Manually Sync Bootloader A/B Slots with the Capsule Update", it can perform BL capsule update.
However, after update, slot 1 can not be bootable. From the serial log, it respin and boot to slot 0. After it enter system UI, I recheck ‘Capsule update status’. it seems to be ‘1 - Capsule update successfully’. But, slot1 become ‘unbootable’ as follows:

sudo nvbootctrl dump-slots-info
[sudo] password for test:
Current version: 35.2.1
Capsule update status: 1
Current bootloader slot: A
Active bootloader slot: A
num_slots: 2
slot: 0, status: normal
slot: 1, status: unbootable

Here is serial log when capsule updating:

> Update Progress - 100% **************************************************▒▒▒▒Shutdown state requested 1
> Rebooting system ...
> ▒▒
> [0000.064] I> MB1 (version: 0.28.0.0-t234-54845784-ec016368)
> [0000.070] I> t234-A01-0-Silicon (0x12347) Prod
> [0000.074] I> Boot-mode : Coldboot
> [0000.077] I> Emulation:
> [0000.079] I> Entry timestamp: 0x00000000
> [0000.083] I> last_boot_error: 0x0
> [0000.086] I> BR-BCT: preprod_dev_sign: 0
> [0000.090] I> rst_source: 0xb, rst_level: 0x1
> [0000.094] I> Task: Bootchain select WAR set (0x5000c741)
> [0000.099] I> Active chain: 1
> [0000.102] I> Task: CRC check (0x5001dab5)
> [0000.106] I> Task: Initialize MB2 params (0x5000d78d)
> [0000.111] I> MB2-params @ 0x40060000
> [0000.115] I> Task: Crypto init (0x5001cb8d)
> [0000.119] I> Task: Secure debug controls (0x5000cd21)
> [0000.124] I> Task: strap war set (0x5000c70d)
> [0000.128] I> strap value(0x4000001) set to 0x4000001
> [0000.133] I> Task: Initialize SOC Therm (0x5001af85)
> [0000.138] I> Task: Program NV master stream id (0x5000ccd5)
> [0000.143] I> Task: Verify boot mode (0xd482021)
> [0000.149] I> Task: Alias fuses (0x500109cd)
> [0000.153] W> FUSE_ALIAS: Fuse alias on production fused part is not supported.
> [0000.160] I> Task: Print SKU type (0x5000fee1)
> [0000.165] I> FUSE_OPT_CCPLEX_CLUSTER_DISABLE = 0x000001c0
> [0000.170] I> FUSE_OPT_GPC_DISABLE = 0x00000002
> [0000.174] I> FUSE_OPT_TPC_DISABLE = 0x000000f0
> [0000.178] I> FUSE_OPT_DLA_DISABLE = 0x00000000
> [0000.183] I> FUSE_OPT_EMC_DISABLE = 0x00000000
> [0000.187] I> FUSE_BOOTROM_PATCH_VERSION = 0x7
> [0000.191] I> FUSE_PSCROM_PATCH_VERSION = 0x7
> [0000.195] I> FUSE_OPT_ADC_CAL_FUSE_REV = 0x2
> [0000.199] I> FUSE_SKU_INFO_0 = 0xd3
> [0000.203] I> FUSE_OPT_SAMPLE_TYPE_0 = 0x3 PS
> [0000.207] I> FUSE_PACKAGE_INFO_0 = 0x2
> [0000.210] I> SKU: Prod
> [0000.213] I> Task: Boost clocks (0x5001462d)
> [0000.217] I> Initializing PLLC2 for AXI_CBB.
> [0000.221] I> AXI_CBB : src = 35, divisor = 0
> [0000.225] I> Task: Voltage monitor (0x50014639)
> [0000.229] I> VMON: Vmon re-calibration and fine tuning done
> [0000.235] I> Task: UPHY init (0x5000dced)
> [0000.239] W> UPHY: UPHY lane info table is empty in MB1 BCT.
> [0000.244] I> Task: Boot device init (0x50000b39)
> [0000.249] I> Boot_device: QSPI_FLASH instance: 0
> [0000.253] I> Qspi clock source : pllc_out0
> [0000.258] I> QSPI Flash: Macronix 64MB
> [0000.261] I> QSPI-0l initialized successfully
> [0000.265] I> Task: TSC init (0x5001fa6d)
> [0000.269] I> Task: Load membct (0x50011fb9)
> [0000.273] I> RAM_CODE 0x4000001
> [0000.276] I> Loading MEMBCT
> [0000.279] I> Active chain: 1
> [0000.282] I> Slot: 1
> [0000.284] I> Binary[0] block-0 (partition size: 0x40000)
> [0000.289] I>  get_binary_info: Binary name: MEM-BCT-0
> [0000.294] I> Size of crypto header is 8192
> [0000.298] I> BCH load address is : 0x40050000
> [0000.302] I> Size of crypto header is 8192
> [0000.306] I> BCH of MEM-BCT-0 read from storage
> [0000.310] I> BCH address is : 0x40050000
> [0000.314] I> MEM-BCT-0 header integrity check is success
> [0000.320] I> Binary magic in BCH component 0 is MEM0
> [0000.324] I> component binary type is 0
> [0000.329] I> MEM-BCT-0 binary is read from storage
> [0000.334] I> MEM-BCT-0 binary integrity check is success
> [0000.339] I> Binary MEM-BCT-0 loaded successfully at 0x40040000 (0xe580)
> [0000.345] I> RAM_CODE 0x4000001
> [0000.351] I> RAM_CODE 0x4000001
> [0000.354] I> Task: Load Page retirement list (0x50011601)
> [0000.360] I> Task: SDRAM params override (0x50011f95)
> [0000.365] I> Task: Save mem-bct info (0x500147fd)
> [0000.369] I> Task: Carveout allocate (0x50014861)
> [0000.374] I> RCM blob carveout will not be allocated
> [0000.379] I> ECC region[0]: Start:0x0, End:0x0
> [0000.383] I> ECC region[1]: Start:0x0, End:0x0
> [0000.387] I> ECC region[2]: Start:0x0, End:0x0
> [0000.391] I> ECC region[3]: Start:0x0, End:0x0
> [0000.396] I> ECC region[4]: Start:0x0, End:0x0
> [0000.400] I> Non-ECC region[0]: Start:0x80000000, End:0x480000000
> [0000.406] I> Non-ECC region[1]: Start:0x0, End:0x0
> [0000.410] I> Non-ECC region[2]: Start:0x0, End:0x0
> [0000.415] I> Non-ECC region[3]: Start:0x0, End:0x0
> [0000.420] I> Non-ECC region[4]: Start:0x0, End:0x0
> [0000.429] I> allocated(CO:44) base:0x449800000 size:0x36800000 align: 0x100000
> [0000.436] I> allocated(CO:31) base:0x440000000 size:0x8000000 align: 0x8000000
> [0000.444] I> allocated(CO:43) base:0x43c000000 size:0x4000000 align: 0x200000
> [0000.451] I> allocated(CO:20) base:0x43a000000 size:0x2000000 align: 0x2000000
> [0000.458] I> allocated(CO:24) base:0x438000000 size:0x2000000 align: 0x2000000
> [0000.465] I> allocated(CO:28) base:0x436000000 size:0x2000000 align: 0x2000000
> [0000.472] I> allocated(CO:29) base:0x434000000 size:0x2000000 align: 0x2000000
> [0000.479] I> allocated(CO:22) base:0x448000000 size:0x1000000 align: 0x1000000
> [0000.486] I> allocated(CO:41) base:0x433000000 size:0x1000000 align: 0x100000
> [0000.493] I> allocated(CO:35) base:0x432200000 size:0xe00000 align: 0x10000
> [0000.500] I> allocated(CO:02) base:0x449000000 size:0x800000 align: 0x800000
> [0000.507] I> allocated(CO:03) base:0x431800000 size:0x800000 align: 0x800000
> [0000.514] I> allocated(CO:06) base:0x431000000 size:0x800000 align: 0x800000
> [0000.521] I> allocated(CO:10) base:0x430800000 size:0x800000 align: 0x800000
> [0000.528] I> allocated(CO:56) base:0x430000000 size:0x800000 align: 0x200000
> [0000.535] I> allocated(CO:07) base:0x42fc00000 size:0x400000 align: 0x400000
> [0000.541] I> allocated(CO:33) base:0x42f800000 size:0x400000 align: 0x200000
> [0000.548] I> allocated(CO:01) base:0x432100000 size:0x100000 align: 0x100000
> [0000.555] I> allocated(CO:04) base:0x432000000 size:0x100000 align: 0x100000
> [0000.562] I> allocated(CO:05) base:0x42f700000 size:0x100000 align: 0x100000
> [0000.569] I> allocated(CO:08) base:0x42f600000 size:0x100000 align: 0x100000
> [0000.576] I> allocated(CO:09) base:0x42f500000 size:0x100000 align: 0x100000
> [0000.583] I> allocated(CO:15) base:0x42f400000 size:0x100000 align: 0x100000
> [0000.590] I> allocated(CO:17) base:0x42f300000 size:0x100000 align: 0x100000
> [0000.597] I> allocated(CO:23) base:0x42f200000 size:0x100000 align: 0x100000
> [0000.604] I> allocated(CO:27) base:0x42f100000 size:0x100000 align: 0x100000
> [0000.611] I> allocated(CO:42) base:0x42f000000 size:0x100000 align: 0x100000
> [0000.618] I> allocated(CO:54) base:0x42ef80000 size:0x80000 align: 0x80000
> [0000.624] I> allocated(CO:34) base:0x42ef70000 size:0x10000 align: 0x10000
> [0000.631] I> allocated(CO:47) base:0x42ea00000 size:0x400000 align: 0x200000
> [0000.638] I> allocated(CO:72) base:0x42e800000 size:0x200000 align: 0x10000
> [0000.645] I> allocated(CO:48) base:0x42ef50000 size:0x20000 align: 0x10000
> [0000.652] I> allocated(CO:69) base:0x42ef30000 size:0x20000 align: 0x10000
> [0000.658] I> allocated(CO:49) base:0x42ef20000 size:0x10000 align: 0x10000
> [0000.665] I> allocated(CO:50) base:0x42ef10000 size:0x10000 align: 0x10000
> [0000.672] I> allocated(CO:52) base:0x42ef00000 size:0x10000 align: 0x10000
> [0000.679] I> NSDRAM base: 0x80000000, end: 0x42ef70000
> [0000.684] I> Task: Thermal check (0x500208f9)
> [0000.688] I> max_chip_limit = 105
> [0000.691] I> min_chip_limit = -28
> [0000.694] I> max temp read = 47
> [0000.697] I> min temp read = 45
> [0000.700] I> Task: Update FSI SCR with thermal fuse data (0x50020a05)
> [0000.706] I> Task: Enable WDT 5th expiry (0x50020699)
> [0000.711] I> Task: I2C register (0x50000ad9)
> [0000.715] I> Task: Reset FSI (0x50014635)
> [0000.719] I> Task: Pinmux init (0x500137bd)
> [0000.724] I> Task: Prod config init (0x50013c09)
> [0000.728] I> Task: Pad voltage init (0x50013859)
> [0000.732] I> Task: Prod init (0x50013c4d)
> [0000.736] I> Task: Common rail init (0x50014305)
> [0000.741] I> DONE: Thermal config
> [0000.745] W> DEVICE_PROD: module = 13, instance = 4 not found in device prod.
> [0000.752] I> DONE: SOC rail config
> [0000.756] W> PMIC_CONFIG: Rail: MEMIO rail config not found in MB1 BCT.
> [0000.762] I> DONE: MEMIO rail config
> [0000.766] W> PMIC_CONFIG: Rail: GPU rail info not found in MB1 BCT.
> [0000.772] I> DONE: GPU rail info
> [0000.776] W> PMIC_CONFIG: Rail: CV rail info not found in MB1 BCT.
> [0000.782] I> DONE: CV rail info
> [0000.785] I> Task: Mem clock src (0x50011de5)
> [0000.789] I> Task: Misc. board config (0x500143ad)
> [0000.794] W> PMIC_CONFIG: Platform config not found in MB1 BCT.
> [0000.800] I> Task: SDRAM init (0x50011de9)
> [0000.806] I> SDRAM-params @ 0xd485000
> [0000.810] I> MSS code-drop: NvBootSdramInit
> [0000.814] I> MSS CAR: PLLM/HUB programming for MemoryType: 4 and MemBctRevision: 1
> [0000.821] I> MSS CAR: Init PLLM
> [0000.824] I> MSS CAR: Init PLLHUB
> [0000.829] I> Encryption:   MTS: en, TX: en, VPR: en, GSC: en
> [0000.840] I> mb1_sdram_init Done !
> [0000.844] I> SDRAM Size in Total 0x400000000
> [0000.848] I> Task: Dram Ecc scrub (0x50011729)
> [0000.852] I> Task: DRAM alias check (0x50011f8d)
> [0000.870] I> Task: Program NSDRAM carveout (0x50015171)
> [0000.876] I> NSDRAM carveout encryption is enabled
> [0000.881] I> Program NSDRAM carveout
> [0000.886] I> Task: Register checker (0x50011f91)
> [0000.893] I> Task: Enable clock-mon (0x5001fa5d)
> [0000.899] I> FMON: Fmon re-programming done
> [0000.904] I> Task: Mapper init (0x5001dfed)
> [0000.909] I> Task: SC7 Context Init (0x5001fd5d)
> [0000.915] I> Task: CCPLEX IST init (0x5000d561)
> [0000.921] I> Task: CPU WP0 (0x5000c7a9)
> [0000.926] I> Loading MCE
> [0000.929] I> Active chain: 1
> [0000.932] I> Slot: 1
> [0000.934] I> Binary[8] block-0 (partition size: 0x80000)
> [0000.940] I>  get_binary_info: Binary name: MCE
> [0000.945] I> Size of crypto header is 8192
> [0000.950] I> BCH load address is : 0x4003e000
> [0000.955] I> Size of crypto header is 8192
> [0000.960] I> BCH of MCE read from storage
> [0000.964] I> BCH address is : 0x4003e000
> [0000.970] I> MCE header integrity check is success
> [0000.975] I> Binary magic in BCH component 0 is MTSM
> [0000.980] I> component binary type is 8
> [0000.984] I> Size of crypto header is 8192
> [0000.991] I> MCE binary is read from storage
> [0000.996] I> MCE binary integrity check is success
> [0001.001] I> Binary MCE loaded successfully at 0x40000000 (0x2c880)
> [0001.009] I> Size of crypto header is 8192
> [0001.024] I> Size of crypto header is 8192
> [0001.029] I> Sending WP0 mailbox command to PSC
> [0001.040] I> Task: XUSB Powergate (0x50000ae5)
> [0001.046] I> Skipping powergate XUSB.
> [0001.049] I> Task: MB1 fixed firewalls (0x5001f0d9)
> [0001.070] I> Task: Load bpmp-fw (0x5001f41d)
> [0001.075] I> Active chain: 1
> [0001.079] I> Slot: 1
> [0001.081] I> Binary[15] block-0 (partition size: 0x180000)
> [0001.087] I>  get_binary_info: Binary name: BPMP_FW
> [0001.092] I> Size of crypto header is 8192
> [0001.097] I> BCH load address is : 0x807fe000
> [0001.102] I> Size of crypto header is 8192
> [0001.107] I> BCH of BPMP_FW read from storage
> [0001.112] I> BCH address is : 0x807fe000
> [0001.117] I> BPMP_FW header integrity check is success
> [0001.123] I> Binary magic in BCH component 0 is BPMF
> [0001.128] I> component binary type is 15
> [0001.132] I> Size of crypto header is 8192
> [0001.148] I> BPMP_FW binary is read from storage
> [0001.155] I> BPMP_FW binary integrity check is success
> [0001.160] I> Binary BPMP_FW loaded successfully at 0x80000000 (0xfdc40)
> [0001.169] I> Active chain: 1
> [0001.172] I> Slot: 1
> [0001.174] I> Binary[16] block-72976 (partition size: 0x400000)
> [0001.181] I>  get_binary_info: Binary name: BPMP_FW_DTB
> [0001.187] I> Size of crypto header is 8192
> [0001.191] I> BCH load address is : 0x807fc000
> [0001.197] I> Size of crypto header is 8192
> [0001.202] I> BCH of BPMP_FW_DTB read from storage
> [0001.207] I> BCH address is : 0x807fc000
> [0001.212] I> BPMP_FW_DTB header integrity check is success
> [0001.218] I> Binary magic in BCH component 0 is BPMD
> [0001.223] I> component binary type is 16
> [0001.227] I> Size of crypto header is 8192
> [0001.234] I> BPMP_FW_DTB binary is read from storage
> [0001.240] I> BPMP_FW_DTB binary integrity check is success
> [0001.245] I> Binary BPMP_FW_DTB loaded successfully at 0x807dbff0 (0x1fe80)
> [0001.254] I> Task: Load psc-fw (0x5001f5a5)
> [0001.260] I> Active chain: 1
> [0001.263] I> Slot: 1
> [0001.265] I> Binary[17] block-0 (partition size: 0xc0000)
> [0001.271] I>  get_binary_info: Binary name: PSC_FW
> [0001.277] I> Size of crypto header is 8192
> [0001.281] I> BCH load address is : 0x80ffe000
> [0001.287] I> Size of crypto header is 8192
> [0001.291] I> BCH of PSC_FW read from storage
> [0001.296] I> BCH address is : 0x80ffe000
> [0001.302] I> PSC_FW header integrity check is success
> [0001.307] I> Binary magic in BCH component 0 is PFWP
> [0001.312] I> component binary type is 17
> [0001.316] I> Size of crypto header is 8192
> [0001.325] I> PSC_FW binary is read from storage
> [0001.331] I> PSC_FW binary integrity check is success
> [0001.336] I> Binary PSC_FW loaded successfully at 0x80000000 (0x59980)
> [0001.345] I> Task: Load nvdec-fw (0x5001f619)
> [0001.350] I> Active chain: 1
> [0001.353] I> Slot: 1
> [0001.356] I> Binary[7] block-0 (partition size: 0x100000)
> [0001.362] I>  get_binary_info: Binary name: NVDEC
> [0001.367] I> Size of crypto header is 8192
> [0001.372] I> BCH load address is : 0x800fe000
> [0001.377] I> Size of crypto header is 8192
> [0001.382] I> BCH of NVDEC read from storage
> [0001.386] I> BCH address is : 0x800fe000
> [0001.392] I> NVDEC header integrity check is success
> [0001.397] I> Binary magic in BCH component 0 is NDEC
> [0001.403] I> component binary type is 7
> [0001.407] I> Size of crypto header is 8192
> [0001.414] I> NVDEC binary is read from storage
> [0001.420] I> NVDEC binary integrity check is success
> [0001.425] I> Binary NVDEC loaded successfully at 0x80000000 (0x46000)
> [0001.436] I> Task: Load tsec-fw (0x5001f9a5)
> [0001.441] I> TSEC-FW load support not enabled
> [0001.446] I> Task: GPIO interrupt map (0x50014541)
> [0001.452] I> Task: SC7 context save (0x5001fe9d)
> [0001.458] I> NV_SC7 Context addr: 0xa0000000
> [0001.464] I> Active chain: 1
> [0001.467] I> Slot: 1
> [0001.469] I> Binary[27] block-0 (partition size: 0x100000)
> [0001.475] I>  get_binary_info: Binary name: BR_BCT
> [0001.480] I> Size of crypto header is 8192
> [0001.485] I> Size of crypto header is 8192
> [0001.490] I> BR_BCT binary is read from storage
> [0001.495] I> BR_BCT binary integrity check is success
> [0001.501] I> Binary BR_BCT loaded successfully at 0xa0000000 (0x2000)
> [0001.508] I> Active chain: 1
> [0001.512] I> Slot: 1
> [0001.514] I> Binary[13] block-0 (partition size: 0x30000)
> [0001.520] I>  get_binary_info: Binary name: SC7-FW
> [0001.525] I> Size of crypto header is 8192
> [0001.530] I> Size of crypto header is 8192
> [0001.534] I> BCH load address is : 0xa0002000
> [0001.540] I> Size of crypto header is 8192
> [0001.545] I> BCH of SC7-FW read from storage
> [0001.549] I> BCH address is : 0xa0002000
> [0001.555] I> SC7-FW header integrity check is success
> [0001.560] I> Binary magic in BCH component 0 is WB0B
> [0001.565] I> component binary type is 13
> [0001.569] I> Size of crypto header is 8192
> [0001.576] I> SC7-FW binary is read from storage
> [0001.581] I> SC7-FW binary integrity check is success
> [0001.587] I> Binary SC7-FW loaded successfully at 0xa0004000 (0x26220)
> [0001.595] I> Active chain: 1
> [0001.598] I> Slot: 1
> [0001.600] I> Binary[22] block-0 (partition size: 0x30000)
> [0001.606] I>  get_binary_info: Binary name: PSC_RF
> [0001.612] I> Size of crypto header is 8192
> [0001.616] I> Size of crypto header is 8192
> [0001.621] I> BCH load address is : 0xa002a220
> [0001.626] I> Size of crypto header is 8192
> [0001.631] I> BCH of PSC_RF read from storage
> [0001.636] I> BCH address is : 0xa002a220
> [0001.641] I> PSC_RF header integrity check is success
> [0001.647] I> Binary magic in BCH component 0 is PSCR
> [0001.652] I> component binary type is 22
> [0001.656] I> Size of crypto header is 8192
> [0001.662] I> PSC_RF binary is read from storage
> [0001.667] I> PSC_RF binary integrity check is success
> [0001.673] I> Binary PSC_RF loaded successfully at 0xa002c220 (0x1b000)
> [0001.695] I> Active chain: 1
> [0001.698] I> Slot: 1
> [0001.701] I> Binary[14] block-0 (partition size: 0x20000)
> [0001.707] I>  get_binary_info: Binary name: MB2_RF
> [0001.712] I> Size of crypto header is 8192
> [0001.716] I> Size of crypto header is 8192
> [0001.721] I> BCH load address is : 0xa008ea48
> [0001.726] I> Size of crypto header is 8192
> [0001.731] I> BCH of MB2_RF read from storage
> [0001.736] I> BCH address is : 0xa008ea48
> [0001.741] I> MB2_RF header integrity check is success
> [0001.747] I> Binary magic in BCH component 0 is MB2R
> [0001.752] I> component binary type is 14
> [0001.756] I> Size of crypto header is 8192
> [0001.762] I> MB2_RF binary is read from storage
> [0001.768] I> MB2_RF binary integrity check is success
> [0001.773] I> Binary MB2_RF loaded successfully at 0xa0090a48 (0x1bfa0)
> [0001.782] W> FUSE_ALIAS: Fuse alias on production fused part is not supported.
> [0001.790] I> SC7 context fuse-bypass data is empty
> [0001.798] I> SC7 context save done
> [0001.802] I> Task: Load MB2/Applet/FSKP (0x5000d691)
> [0001.808] I> Loading MB2
> [0001.811] I> Active chain: 1
> [0001.814] I> Slot: 1
> [0001.816] I> Binary[6] block-0 (partition size: 0x80000)
> [0001.822] I>  get_binary_info: Binary name: MB2
> [0001.827] I> Size of crypto header is 8192
> [0001.832] I> BCH load address is : 0x8007e000
> [0001.837] I> Size of crypto header is 8192
> [0001.842] I> BCH of MB2 read from storage
> [0001.847] I> BCH address is : 0x8007e000
> [0001.852] I> MB2 header integrity check is success
> [0001.857] I> Binary magic in BCH component 0 is MB2B
> [0001.862] I> component binary type is 6
> [0001.867] I> Size of crypto header is 8192
> [0001.876] I> MB2 binary is read from storage
> [0001.882] I> MB2 binary integrity check is success
> [0001.887] I> Binary MB2 loaded successfully at 0x80000000 (0x68e00)
> [0001.895] I> Task: Map CCPLEX SHARED carveout (0x5000d835)
> [0001.902] I> Task: Prepare MB2 params (0x5000d8f1)
> [0001.910] I> BR-BCT Boot Chain Fields
> [0001.914] I>    u32_non_gpio_select_boot_chain  : 1
> [0001.919] I>    u32_num_boot_chains             : 2
> [0001.924] I>    bf_bl_gpio_select_boot_chain_1b : 0
> [0001.930] I> Task: Program misc carveouts (0x50014bcd)
> [0001.936] I> Program IPC carveouts
> [0001.944] I> Task: Dram ecc test (0x500117a5)
> [0001.949] I> Task: Misc NV security settings (0x5000d0f9)
> [0001.956] I> NVDEC sticky bits programming done
> [0001.961] I> Successfully powergated NVDEC
> [0001.965] I> Task: Disable/Reload WDT (0x500206e1)
> [0001.971] I> Programmed SLCG global override := 0x0
> [0001.976] I> MB1: MSS reconfig completed
> I> MB2 (version: 0.0.0.0-t234-54845784-a9c0116a)
> I> t234-A01-0-Silicon (0x12347)
> I> Boot-mode : Coldboot
> I> Emulation:
> I> Entry timestamp: 0x001eb94a
> I> Regular heap: [base:0x40040000, size:0x10000]
> I> DMA heap: [base:0x430000000, size:0x800000]
> I> Task: ARI update carveout TZDRAM (0x50001e80)
> I> Task: Enable hot-plug capability (0x50025b5c)
> I> Task: PSC mailbox init (0x50015c10)
> I> Task: Crypto init (0x5000573c)
> I> Task: Enable GP-SE clock (0x50001fe4)
> I> Task: DICE Identity init (0x50018fcc)
> I> DICE is not enabled.
> I> Task: OEM SC7 context save init (0x500186cc)
> I> Task: I2C register (0x50001e44)
> I> Task: Map CCPLEX_INTERWORLD_SHMEM carveout (0x50001e2c)
> I> Task: Boot device init (0x50001d74)
> I> Boot_device: QSPI_FLASH instance: 0
> I> Qspi clock source : pllc_out0
> I> QSPI-0l initialized successfully
> E> Error in command_complete 18001 int_status
> E> Sending CMD_SD_SEND_IF_COND failed
> E> Error opening sdcard-0
> E> Failed to initialize device 6-0
> C> Storage init failed
> C> Task 0x0 failed (err: 0x39390706)
> E> Top caller module: SDMMC, error module: SDMMC, reason: 0x06, aux_info: 0x07
> I> Busy Spin

> Blockquote

Hi weileng,

Are you refer to the instruction from Manually Sync Bootloader A/B Slots with the Capsule Update?

Did you run the workflow twice to make sure that both slots A and B are updated with the same image?

Are you just trying this feature? Both of your slot A/B should be the same after you flash the whole Orin NX module.

Hi Kevin

Yes, I did the instructions as the web page. Although, I run the workflow twice, no any chnange as nvbootctrl dump-slots-info display.
sudo nvbootctrl dump-slots-info

[sudo] password for test:
Current version: 35.2.1
Capsule update status: 1
Current bootloader slot: A
Active bootloader slot: A
num_slots: 2
slot: 0, status: normal
slot: 1, status: unbootable

What platform are you using?
From category, it is Orin NX.
From your failed flash log, it should not be SDMMC error for Orin NX.

Orin NX 16 SOM in my test bed. That’s the questions I also doubted.
I re-generated capsulate update:
./generate_capsule/l4t_generate_soc_capsule.sh -i bootloader/payloads_t23x/bl_only_payload -o ./TEGRA_BL.Cap t234
And copy ‘TEGRA_BL.Cap’ capsule payload to the EFI/UpdateCapsule directory in the esp partition of the active boot media.
After reboot, I can see UEFI perform update and complete it. Howerver, after reboot, it show that slot 1 is unbootable.
Could you please try such steps on orin nx devkit? Thanks.

We’ve verified this feature on the Orin NX devkit.
What carrier board are you using for the Orin NX module?

Hi Kevin

Could you please share your side test commands on how to generate a single-spec BUP for Orin NX 16G SOM?

Please refer to the following test steps which is also derived from the guide.

[Host: Orin+r35.2.1]
$ sudo ./l4t_generate_soc_bup.sh t23x
$ ./generate_capsule/l4t_generate_soc_capsule.sh -i bootloader/payloads_t23x/bl_only_payload -o ./TEGRA_BL.Cap t234
$ scp TEGRA_BL.Cap nvidia@<IP address>:/home/nvidia/.

[Target]
$ ll /dev/disk/by-partlabel/esp
$ sudo mount /dev/mmcblk0p10 /mnt/
$ cd /mnt/EFI
# mkdir UpdateCapsule
# cd UpdateCapsule/
# cp /home/nvidia/TEGRA_BL.Cap .
With QSPI flash:
# cd /sys/firmware/efi/efivars/
# printf "\x07\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00" > /tmp/var_tmp.bin
# sudo dd if=/tmp/var_tmp.bin of=OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c bs=12
# reboot

uart can see the UEFI update:
Update Progress - 100% **************************************************Jetson UEFI firmware (version 2.1-32413640 built on 2023-01-24T23:12:27+00:00)

Hi Kevin

$ ll /dev/disk/by-partlabel/esp
$ sudo mount /dev/mmcblk0p10 /mnt/

As your provided, it seems your board has emmc. However, Orin NX has no emmc.

And,

as your command:

sudo ./l4t_generate_soc_bup.sh t23x

such command will gen mutil-spec bup, you can check such bup support specs as follows:

./bootloader/BUP_generator.py -c ./bootloader/payloads_t23x/bl_update_payload
BLOB PATH:
/opt/test/nvidia-src/Linux_for_Tegra/bootloader/payloads_t23x/bl_update_payload

BLOB HEADER:
Magic: NVIDIA__BLOB__V3
Version: v3.1-2022.6-0 (0x01030622)
Blob Size: 65,880,598 bytes
Header Size: 48 bytes
Entry Count: 62 partition(s)
Type: 0 (0 for update, 1 for BMP)
Uncompressed
Blob Size: 65,880,598 bytes
Accessory: 0x0000000000000000

ENTRY TABLE:
| part_name | offset | part_size | version | op_mode | tnspec |
| BCT | 11456 | 8192 | 3521 | 2 | 3701-000-0000–1-0-jetson-agx-orin-devkit- |
| BCT | 19648 | 8192 | 3521 | 2 | 3701-000-0002–1-0-holoscan-devkit- |
| BCT | 27840 | 8192 | 3521 | 2 | 3701-000-0004–1-0-jetson-agx-orin-devkit- |

There’s no bup spec for Orin NX spec.

Hi @weileng

Just to confirm. Is your issue on Orin NX?

@WayneWWW yes, we run test on Orin NX 16G SOM.

Hi Weileng,

We have confirmed with internal about BUP and Capsule update not supported on Orin NX in JP5.1 GA due to Orin NX not public released yet, but it should be available in the next release.

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