Hello. We are trying to create factory environment flashing instructions for Jetson TX2, with burning fuses and flashing signed images. However, we encountered problem stated in https://devtalk.nvidia.com/default/topic/1037657/jetson-tx2/-boot-secure-on-tx2-how-to-flash-package-on-tx2-use-rsa-key-/post/5271962/#5271962 but there was no solution for it. We had run fusecmd.sh, and now Jetson seems to be in secure boot mode. But when we run command to flash signed images, we see this:
ubuntu@ubuntu:~/Downloads/bootloader$ sudo sh flashcmd.txt
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
[ 0.0101 ] Parsing partition layout
[ 0.0109 ] tegraparser_v2 --pt secureflash.xml.tmp
[ 0.0118 ]
[ 0.0119 ] Boot Rom communication
[ 0.0125 ] tegrarcm_v2 --chip 0x18 --rcm rcm_1_signed.rcm
[ 0.0131 ] BR_CID: 0xa1801001643c08812000000017018240
[ 0.0136 ] Boot Rom communication completed
[ 1.0225 ]
[ 1.0266 ] tegrarcm_v2 --isapplet
[ 1.0307 ] Applet version 01.00.0000
[ 1.0340 ]
[ 1.0341 ] Updating Odmdata
[ 1.0384 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updatefields Odmdata = 0x1090000
[ 1.0507 ]
[ 1.0508 ] Sending BCTs
[ 1.0551 ] tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.signed
[ 1.0586 ] Applet version 01.00.0000
[ 1.0643 ] Sending bct_bootrom
[ 1.0656 ] [................................................] 100%
[ 1.0718 ] 000000002005411c: Failed to verify br bct
[ 1.0768 ]
Error: Return value 28
Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.signed
So, there is some problem with verification of br bct. As JerryChang suggested, we have tried to flash board with usual flash.sh in case of some problems with our factory environment. So we downloaded new copy of JetPack 3.3, downloaded Linux for Tegra in it, and had run flash.sh:
ubuntu@ubuntu:~/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra$ sudo ./flash.sh -x 0x18 -y PKC -u ~/Downloads/rsa_priv.pem jetson-tx2 mmcblk0p1
###############################################################################
# L4T BSP Information:
# R28 (release), REVISION: 2.1, GCID: 11272647, BOARD: t186ref, EABI: aarch64,
# DATE: Thu May 17 07:29:06 UTC 2018
###############################################################################
# Target Board Information:
# Name: jetson-tx2, Board Family: t186ref, SoC: Tegra 186,
# OpMode: production, Boot Authentication: PKC,
###############################################################################
./tegraflash.py --chip 0x18 --applet "/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin" --cmd "dump eeprom boardinfo cvm.bin" --skipuid --key "/home/ubuntu/Downloads/rsa_priv.pem"
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
[ 0.0045 ] Generating RCM messages
[ 0.0062 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 --download rcm /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0
[ 0.0069 ] RCM 0 is saved as rcm_0.rcm
[ 0.0073 ] RCM 1 is saved as rcm_1.rcm
[ 0.0073 ] List of rcm files are saved in rcm_list.xml
[ 0.0073 ]
[ 0.0074 ] Signing RCM messages
[ 0.0080 ] tegrasign_v2 --key /home/ubuntu/Downloads/rsa_priv.pem --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0087 ] PKC key in Open SSL format
[ 0.0089 ] Saving public key in pub_key.key
[ 0.1094 ]
[ 0.1094 ] Copying signature to RCM mesages
[ 0.1104 ] tegrarcm_v2 --chip 0x18 --updatesig rcm_list_signed.xml --pubkeyhash pub_key.key
[ 0.1113 ]
[ 0.1113 ] Boot Rom communication
[ 0.1120 ] tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml --skipuid
[ 0.1126 ] RCM version 0X180001
[ 0.1151 ] Boot Rom communication completed
[ 1.1244 ]
[ 1.1288 ] tegrarcm_v2 --isapplet
[ 1.1327 ] Applet version 01.00.0000
[ 1.1361 ]
[ 1.1404 ] Retrieving EEPROM data
[ 1.1409 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/cvm.bin
[ 1.1453 ] Applet version 01.00.0000
[ 1.1515 ] Saved platform info in /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/cvm.bin
[ 1.2286 ]
Board ID(3310) version(B02)
copying bctfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg)... done.
copying misc_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)... done.
copying pinmux_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg)... done.
copying pmic_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg)... done.
copying pmc_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg)... done.
copying prod_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg)... done.
copying scr_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/minimal_scr.cfg)... done.
copying scr_cold_boot_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/mobile_scr.cfg)... done.
copying bootrom_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg)... done.
copying dev_params(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/emmc.cfg)... done.
Existing bootloader(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
populating kernel to rootfs... done.
populating initrd to rootfs... done.
populating extlinux.conf.emmc to rootfs... done.
populating /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb to rootfs... done.
done.
Making Boot image... done.
Existing sosfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin) reused.
copying tegraboot(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/nvtboot.bin)... done.
Existing mb2blfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
Existing mtspreboot(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/preboot_d15_prod_cr.bin) reused.
Existing mts(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mce_mts_d15_prod_cr.bin) reused.
Existing mb1file(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mb1_prod.bin) reused.
Existing bpffile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/bpmp.bin) reused.
copying bpfdtbfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb)... done.
Existing scefile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/camera-rtcpu-sce.bin) reused.
Existing spefile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/spe.bin) reused.
copying wb0boot(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/warmboot.bin)... done.
Existing tosfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/tos.img) reused.
Existing eksfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
Making system.img...
populating rootfs from /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/rootfs ... done.
Sync'ing system.img ... done.
Converting RAW image to Sparse image...
---- Raw to Sparse Image Converter v1.0 ----------------------------
0: RAW: 4243456( 1036 blks) ==> 28:4243468
1: SKP: 20480( 5 blks) ==> 4243496:12
2: RAW: 4096( 1 blks) ==> 4243508:4108
3: SKP: 61440( 15 blks) ==> 4247616:12
# Skipping many-many lines...
3047: SKP: 6537216( 1596 blks) ==> 3464912624:12
3048: RAW: 33554432( 8192 blks) ==> 3464912636:33554444
3049: SKP: 1912602624( 466944 blks) ==> 3498467080:12
-- Total: ---------------------------------------------------
3050 CHUNK 30064771072(7340032 blks) ==> 3498467092(854109 blks)
done.
system.img built successfully.
Existing tbcfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/cboot.bin) reused.
copying tbcdtbfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
copying cfgfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t186.xml) to flash.xml... done.
Existing flasher(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/nvtboot_recovery_cpu.bin) reused.
Existing flashapp(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb"
saving flash command in /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/flashcmd.txt
./tegraflash.py --bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb"
copying boot image (boot.img.sb)... done.
copying partition layout (flash.xml.sb)... done.
copying kernel dtb (tegra186-quill-p3310-1000-c03-00-base.dtb.sb)... done.
saving flash parameters in /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/flash_parameters.txt
--bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb"
*** Flashing target device started. ***
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
[ 0.0052 ] tegrasign_v2 --key None --getmode mode.txt
[ 0.0060 ] Assuming zero filled SBK key
[ 0.0061 ]
[ 0.0061 ] Generating RCM messages
[ 0.0108 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 --download rcm mb1_recovery_prod.bin 0 0
[ 0.0117 ] RCM 0 is saved as rcm_0.rcm
[ 0.0131 ] RCM 1 is saved as rcm_1.rcm
[ 0.0132 ] List of rcm files are saved in rcm_list.xml
[ 0.0132 ]
[ 0.0132 ] Signing RCM messages
[ 0.0142 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0167 ] Assuming zero filled SBK key
[ 0.0196 ]
[ 0.0196 ] Copying signature to RCM mesages
[ 0.0203 ] tegrarcm_v2 --chip 0x18 --updatesig rcm_list_signed.xml
[ 0.0213 ]
[ 0.0213 ] Parsing partition layout
[ 0.0302 ] tegraparser_v2 --pt flash.xml.tmp
[ 0.0336 ]
[ 0.0337 ] Creating list of images to be signed
[ 0.0416 ] tegrahost_v2 --chip 0x18 --partitionlayout flash.xml.bin --list images_list.xml zerosbk
[ 0.0968 ]
[ 0.0968 ] Generating signatures
[ 0.0978 ] tegrasign_v2 --key None --list images_list.xml --pubkeyhash pub_key.key
[ 0.0985 ] Assuming zero filled SBK key
[ 0.3230 ]
[ 0.3230 ] Generating br-bct
[ 0.3289 ] Updating dev and MSS params in BR BCT
[ 0.3290 ] tegrabct_v2 --dev_param emmc.cfg --sdram P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --brbct br_bct.cfg --chip 0x18
[ 0.3460 ]
[ 0.3460 ] Updating bl info
[ 0.3468 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[ 0.3484 ]
[ 0.3484 ] Updating smd info
[ 0.3492 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updatesmdinfo flash.xml.bin
[ 0.3502 ]
[ 0.3502 ] Updating Odmdata
[ 0.3509 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updatefields Odmdata =0x1090000
[ 0.3530 ]
[ 0.3530 ] Get Signed section bct
[ 0.3540 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --listbct bct_list.xml
[ 0.3552 ]
[ 0.3554 ] Signing BCT
[ 0.3583 ] tegrasign_v2 --key None --list bct_list.xml --pubkeyhash pub_key.key
[ 0.3590 ] Assuming zero filled SBK key
[ 0.3592 ]
[ 0.3592 ] Updating BCT with signature
[ 0.3598 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updatesig bct_list_signed.xml
[ 0.3607 ]
[ 0.3607 ] Generating coldboot mb1-bct
[ 0.3614 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct.cfg --sdram P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --misc tegra186-mb1-bct-misc-si-l4t.cfg --scr mobile_scr.cfg --pinmux tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmc tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --pmic tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --brcommand tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --prod tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg
[ 0.3620 ] MB1-BCT version: 0xe
[ 0.3621 ] Copying Sdram info from 2 to 3 set
[ 0.3763 ] Packing sdram param for instance[0]
[ 0.3765 ] Packing sdram param for instance[1]
[ 0.3766 ] Packing sdram param for instance[2]
[ 0.3768 ] Packing sdram param for instance[3]
[ 0.3770 ] Parsing config file :tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
[ 0.3773 ] Appending platform config data of size :- 2904
[ 0.3776 ] Parsing config file :mobile_scr.cfg
[ 0.3777 ] Appending platform config data of size :- 12240
[ 0.3797 ] Parsing config file :tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg
[ 0.3801 ] Appending platform config data of size :- 24
[ 0.3803 ] Parsing config file :tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg
[ 0.3806 ] Appending platform config data of size :- 708
[ 0.3806 ]
[ 0.3806 ] Parsing config file :tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg
[ 0.3806 ] Appending platform config data of size :- 64
[ 0.3806 ]
[ 0.3806 ] Parsing config file :tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg
[ 0.3806 ] Appending platform config data of size :- 1652
[ 0.3806 ]
[ 0.3807 ] Updating mb1-bct with firmware information
[ 0.3818 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
[ 0.3827 ] MB1-BCT version: 0xe
[ 0.3832 ]
[ 0.3833 ] Updating mb1-bct with storage information
[ 0.3842 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin
[ 0.3860 ] MB1-BCT version: 0xe
[ 0.3866 ]
[ 0.3896 ] tegrahost_v2 --align mb1_cold_boot_bct_MB1.bct
[ 0.3904 ]
[ 0.3910 ] tegrahost_v2 --appendsigheader mb1_cold_boot_bct_MB1.bct zerosbk
[ 0.3918 ]
[ 0.3926 ] tegrasign_v2 --key None --list mb1_cold_boot_bct_MB1_sigheader.bct_list.xml
[ 0.3932 ] Assuming zero filled SBK key
[ 0.3945 ]
[ 0.3953 ] tegrahost_v2 --updatesigheader mb1_cold_boot_bct_MB1_sigheader.bct.encrypt mb1_cold_boot_bct_MB1_sigheader.bct.hash zerosbk
[ 0.3961 ]
[ 0.3962 ] Generating recovery mb1-bct
[ 0.3969 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct.cfg --sdram P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --misc tegra186-mb1-bct-misc-si-l4t.cfg --scr minimal_scr.cfg --pinmux tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmc tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --pmic tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --brcommand tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --prod tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg
[ 0.3975 ] MB1-BCT version: 0xe
[ 0.3977 ] Copying Sdram info from 2 to 3 set
[ 0.4117 ] Packing sdram param for instance[0]
[ 0.4119 ] Packing sdram param for instance[1]
[ 0.4121 ] Packing sdram param for instance[2]
[ 0.4122 ] Packing sdram param for instance[3]
[ 0.4124 ] Parsing config file :tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
[ 0.4128 ] Appending platform config data of size :- 2904
[ 0.4131 ] Parsing config file :minimal_scr.cfg
[ 0.4133 ] Appending platform config data of size :- 12240
[ 0.4146 ] Parsing config file :tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg
[ 0.4149 ] Appending platform config data of size :- 24
[ 0.4149 ]
[ 0.4149 ] Parsing config file :tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg
[ 0.4149 ] Appending platform config data of size :- 708
[ 0.4149 ]
[ 0.4149 ] Parsing config file :tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg
[ 0.4149 ] Appending platform config data of size :- 64
[ 0.4149 ]
[ 0.4149 ] Parsing config file :tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg
[ 0.4149 ] Appending platform config data of size :- 1652
[ 0.4149 ]
[ 0.4150 ] Updating mb1-bct with firmware information
[ 0.4164 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct_MB1.bct --updatefwinfo flash.xml.bin
[ 0.4172 ] MB1-BCT version: 0xe
[ 0.4196 ]
[ 0.4196 ] Updating mb1-bct with storage information
[ 0.4223 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct_MB1.bct --updatestorageinfo flash.xml.bin
[ 0.4231 ] MB1-BCT version: 0xe
[ 0.4235 ]
[ 0.4242 ] tegrahost_v2 --align mb1_bct_MB1.bct
[ 0.4248 ]
[ 0.4255 ] tegrahost_v2 --appendsigheader mb1_bct_MB1.bct zerosbk
[ 0.4264 ]
[ 0.4273 ] tegrasign_v2 --key None --list mb1_bct_MB1_sigheader.bct_list.xml
[ 0.4278 ] Assuming zero filled SBK key
[ 0.4291 ]
[ 0.4299 ] tegrahost_v2 --updatesigheader mb1_bct_MB1_sigheader.bct.encrypt mb1_bct_MB1_sigheader.bct.hash zerosbk
[ 0.4306 ]
[ 0.4307 ] Copying signatures
[ 0.4313 ] tegrahost_v2 --chip 0x18 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[ 0.4680 ]
[ 0.4681 ] Boot Rom communication
[ 0.4688 ] tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml
[ 0.4694 ] BootRom is not running
[ 1.4842 ]
[ 1.4872 ] tegrarcm_v2 --isapplet
[ 1.4898 ] Applet version 01.00.0000
[ 1.4927 ]
[ 1.4928 ] Retrieving board information
[ 1.4954 ] tegrarcm_v2 --oem platformdetails chip chip_info.bin
[ 1.4984 ] Applet version 01.00.0000
[ 1.5024 ] Saved platform info in chip_info.bin
[ 1.5037 ] Chip minor revision: 2
[ 1.5037 ]
[ 1.5038 ] Sending BCTs
[ 1.5073 ] tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
[ 1.5120 ] Applet version 01.00.0000
[ 1.5153 ] Sending bct_bootrom
[ 1.5178 ] [................................................] 100%
[ 1.5269 ] 000000002005411c: Failed to verify br bct
[ 1.5308 ]
Error: Return value 28
Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
Failed flashing t186ref.
Seems like the same error.
He also suggested to try --no-flash to “narrow down”, but I don’t see any additional information in it:
ubuntu@ubuntu:~/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra$ sudo ./flash.sh --no-flash -x 0x18 -y PKC -u ~/Downloads/rsa_priv.pem jetson-tx2 mmcblk0p1
###############################################################################
# L4T BSP Information:
# R28 (release), REVISION: 2.1, GCID: 11272647, BOARD: t186ref, EABI: aarch64,
# DATE: Thu May 17 07:29:06 UTC 2018
###############################################################################
Board ID() version()
copying bctfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg)... done.
copying misc_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)... done.
copying pinmux_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg)... done.
copying pmic_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg)... done.
copying pmc_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg)... done.
copying prod_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg)... done.
copying scr_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/minimal_scr.cfg)... done.
copying scr_cold_boot_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/mobile_scr.cfg)... done.
copying bootrom_config(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg)... done.
copying dev_params(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/BCT/emmc.cfg)... done.
Existing bootloader(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
populating kernel to rootfs... done.
populating initrd to rootfs... done.
populating extlinux.conf.emmc to rootfs... done.
populating /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb to rootfs... done.
done.
Making Boot image... done.
Existing sosfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin) reused.
copying tegraboot(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/nvtboot.bin)... done.
Existing mb2blfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
Existing mtspreboot(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/preboot_d15_prod_cr.bin) reused.
Existing mts(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mce_mts_d15_prod_cr.bin) reused.
Existing mb1file(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/mb1_prod.bin) reused.
Existing bpffile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/bpmp.bin) reused.
copying bpfdtbfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb)... done.
Existing scefile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/camera-rtcpu-sce.bin) reused.
Existing spefile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/spe.bin) reused.
copying wb0boot(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/warmboot.bin)... done.
Existing tosfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/tos.img) reused.
Existing eksfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
Making system.img...
populating rootfs from /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/rootfs ... done.
Sync'ing system.img ... done.
Converting RAW image to Sparse image...
---- Raw to Sparse Image Converter v1.0 ----------------------------
0: RAW: 4243456( 1036 blks) ==> 28:4243468
1: SKP: 20480( 5 blks) ==> 4243496:12
2: RAW: 4096( 1 blks) ==> 4243508:4108
# Skipping many-many lines again...
3163: SKP: 4096( 1 blks) ==> 3498300512:12
3164: RAW: 8192( 2 blks) ==> 3498300524:8204
3165: SKP: 1859092480( 453880 blks) ==> 3498308728:12
-- Total: ---------------------------------------------------
3166 CHUNK 30064771072(7340032 blks) ==> 3498308740(854070 blks)
done.
system.img built successfully.
Existing tbcfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/cboot.bin) reused.
copying tbcdtbfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
copying cfgfile(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t186.xml) to flash.xml... done.
Existing flasher(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/nvtboot_recovery_cpu.bin) reused.
Existing flashapp(/home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb" --skipuid
saving flash command in /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/flashcmd.txt
./tegraflash.py --bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb" --skipuid
copying boot image (boot.img.sb)... done.
copying partition layout (flash.xml.sb)... done.
copying kernel dtb (tegra186-quill-p3310-1000-c03-00-base.dtb.sb)... done.
saving flash parameters in /home/ubuntu/Downloads/JetPack/jetpack/64_TX2/Linux_for_Tegra/bootloader/flash_parameters.txt
--bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb" --skipuid
*** no-flash flag enabled. Exiting now... ***
So, now we have Jetson TX2, that is somehow locked, its previous OS is not starting and not firing up SSH server, no signal detected on HDMI. What we can do to unlock it and flash new image to it?