How to flash only dtb for TX1 success ? (R28.2.0)

Dear Guys,

I’m using JetPack 3.3 (./JetPack-L4T-3.3-linux-x64_b39.run),
I have tried several times this command, but when I booted the device, DTB haven’t updated.
sudo ./flash.sh -r -k DTB jetson-tx1 mmcblk0p1

Only flash all the dtb is updated:
sudo ./flash.sh jetson-tx1 mmcblk0p1

Flash log as bellowed:

###############################################################################
# L4T BSP Information:
# R28 (release), REVISION: 2.0, GCID: 10567845, BOARD: t210ref, EABI: aarch64, 
# DATE: Fri Mar  2 04:58:16 UTC 2018
###############################################################################
# Target Board Information:
# Name: jetson-tx1, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
###############################################################################
copying bctfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/t210ref/BCT/P2180_A00_LP4_DSC_204Mhz.cfg)... done.
copying bootloader(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating extlinux.conf.emmc to rootfs... done.
	populating /home/dennis/nvidia/64_TX1/Linux_for_Tegra/kernel/dtb/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb to rootfs... done.
done.
Making Boot image... done.
copying bcffile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/t210ref/cfg/board_config_p2597-devkit.xml)... done.
Existing sosfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
Existing bpffile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/bpmp.bin) reused.
copying wb0boot(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/tos.img) reused.
Existing eksfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/kernel/dtb/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb)... done.
Reusing existing system.img... 
done.
Existing tbcfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/kernel/dtb/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb)... done.
copying cfgfile(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/t210ref/cfg/gnu_linux_tegraboot_emmc_full.xml) to flash.xml... done.
creating gpt(ppt.img)... 

*** GPT Parameters ***
device size -------------- 31276924928
bootpart size ------------ 8388608
userpart size ------------ 31268536320
Erase Block Size --------- 2097152
sector size -------------- 4096
Partition Config file ---- flash.xml
Visible partition flag --- GP1
Primary GPT output ------- PPT->ppt.img
Secondary GPT output ----- GPT->gpt.img
Target device name ------- none

*** PARTITION LAYOUT(24 partitions) ***
[     BCT] BH            0         8191       4.0MiB 
[     NVC] BH         8192        16383       4.0MiB nvtboot.bin
[     PPT] UH            0         4095       2.0MiB 
[     GP1] UH         4096         8191       2.0MiB 
[     APP] UH         8192     29368319   14336.0MiB system.img
[     TBC] UV     29368320     29372415       2.0MiB nvtboot_cpu.bin
[     EBT] UV     29372416     29380607       4.0MiB cboot.bin
[     BPF] UV     29380608     29384703       2.0MiB bpmp.bin
[     WB0] UV     29384704     29396991       6.0MiB warmboot.bin
[     RP1] UV     29396992     29405183       4.0MiB tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
[     TOS] UV     29405184     29417471       6.0MiB tos.img
[     EKS] UV     29417472     29421567       2.0MiB eks.img
[      FX] UV     29421568     29425663       2.0MiB 
[     BMP] UV     29425664     29687807     128.0MiB bmp.blob
[     SOS] UV     29687808     29728767      20.0MiB 
[     EXI] UV     29728768     29859839      64.0MiB 
[     LNX] UV     29859840     29990911      64.0MiB boot.img
[     DTB] UV     29990912     29999103       4.0MiB tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
[     NXT] UV     29999104     30003199       2.0MiB 
[     MXB] UV     30003200     30015487       6.0MiB 
[     MXP] UV     30015488     30027775       6.0MiB 
[     USP] UV     30027776     30031871       2.0MiB 
[     UDA] UV     30031872     61067263   15154.0MiB 
[     GPT] UH     61067264     61071359       2.0MiB 
copying flasher(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [DTB] with tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb ***
./tegraflash.py --bl cboot.bin --bldtb tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb  --chip 0x21 --applet nvtboot_recovery.bin  --cfg flash.xml  --bct  P2180_A00_LP4_DSC_204Mhz.cfg --bct  P2180_A00_LP4_DSC_204Mhz.cfg  --cfg  flash.xml   --cmd "sign; write DTB ./signed/tegra210-jetson-tx1-p2597-2180-a01-devkit_sigheader.dtb.encrypt; reboot" --skipuid 
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.0091 ] Generating RCM messages
[   0.0110 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 --download rcm nvtboot_recovery.bin 0 0
[   0.0125 ] RCM 0 is saved as rcm_0.rcm
[   0.0135 ] RCM 1 is saved as rcm_1.rcm
[   0.0135 ] List of rcm files are saved in rcm_list.xml
[   0.0135 ] 
[   0.0135 ] Signing RCM messages
[   0.0153 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0168 ] Assuming zero filled SBK key
[   0.0293 ] 
[   0.0293 ] Copying signature to RCM mesages
[   0.0307 ] tegrarcm --chip 0x21 --updatesig rcm_list_signed.xml
[   0.0327 ] 
[   0.0327 ] Parsing partition layout
[   0.0340 ] tegraparser --pt flash.xml.tmp
[   0.0357 ] 
[   0.0358 ] Creating list of images to be signed
[   0.0370 ] tegrahost --chip 0x21 --partitionlayout flash.xml.bin --list images_list.xml
[   0.0437 ] 
[   0.0438 ] Generating signatures
[   0.0457 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.0474 ] Assuming zero filled SBK key
[   0.1427 ] 
[   0.1428 ] Generating br-bct
[   0.1452 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.cfg --chip 0x21
[   0.1471 ] Copying Sdram info from 1 to 2 set
[   0.1539 ] Copying Sdram info from 2 to 3 set
[   0.1539 ] 
[   0.1540 ] Updating boot device parameters
[   0.1558 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatedevparam flash.xml.bin
[   0.1573 ] Warning: No sdram params
[   0.1578 ] 
[   0.1578 ] Updating bl info
[   0.1596 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.1622 ] 
[   0.1622 ] Updating secondary storage information into bct
[   0.1638 ] tegraparser --pt flash.xml.bin --chip 0x21 --updatecustinfo P2180_A00_LP4_DSC_204Mhz.bct
[   0.1656 ] 
[   0.1656 ] Get Signed section bct
[   0.1671 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --listbct bct_list.xml
[   0.1686 ] 
[   0.1687 ] Signing BCT
[   0.1713 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.1727 ] Assuming zero filled SBK key
[   0.1737 ] 
[   0.1737 ] Updating BCT with signature
[   0.1750 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatesig bct_list_signed.xml
[   0.1767 ] 
[   0.1767 ] Copying signatures
[   0.1779 ] tegrahost --chip 0x21 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.1791 ] Run tegrabct to update tboot signature in bct
[   0.1860 ] 
[   0.1860 ] Copying signed file in /home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/signed
[   0.2068 ] Generating RCM messages
[   0.2084 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 --download rcm nvtboot_recovery.bin 0 0
[   0.2101 ] RCM 0 is saved as rcm_0.rcm
[   0.2111 ] RCM 1 is saved as rcm_1.rcm
[   0.2113 ] List of rcm files are saved in rcm_list.xml
[   0.2113 ] 
[   0.2114 ] Signing RCM messages
[   0.2131 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.2147 ] Assuming zero filled SBK key
[   0.2280 ] 
[   0.2280 ] Copying signature to RCM mesages
[   0.2295 ] tegrarcm --chip 0x21 --updatesig rcm_list_signed.xml
[   0.2314 ] 
[   0.2315 ] Boot Rom communication
[   0.2332 ] tegrarcm --chip 0x21 --rcm rcm_list_signed.xml --skipuid
[   0.2348 ] RCM version 0X210001
[   0.2841 ] Boot Rom communication completed
[   1.2942 ] 
[   1.2942 ] Parsing partition layout
[   1.2964 ] tegraparser --pt flash.xml.tmp
[   1.2993 ] 
[   1.2993 ] Creating list of images to be signed
[   1.3014 ] tegrahost --chip 0x21 --partitionlayout flash.xml.bin --list images_list.xml
[   1.3095 ] 
[   1.3095 ] Generating signatures
[   1.3115 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   1.3131 ] Assuming zero filled SBK key
[   1.4109 ] 
[   1.4109 ] Send BCT from Host
[   1.4109 ] Generating br-bct
[   1.4126 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.cfg --chip 0x21
[   1.4138 ] Copying Sdram info from 1 to 2 set
[   1.4174 ] Copying Sdram info from 2 to 3 set
[   1.4174 ] 
[   1.4174 ] Updating boot device parameters
[   1.4188 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatedevparam flash.xml.bin
[   1.4203 ] Warning: No sdram params
[   1.4207 ] 
[   1.4207 ] Updating bl info
[   1.4221 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   1.4251 ] 
[   1.4251 ] Updating secondary storage information into bct
[   1.4266 ] tegraparser --pt flash.xml.bin --chip 0x21 --updatecustinfo P2180_A00_LP4_DSC_204Mhz.bct
[   1.4284 ] 
[   1.4284 ] Get Signed section bct
[   1.4299 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --listbct bct_list.xml
[   1.4316 ] 
[   1.4316 ] Signing BCT
[   1.4344 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   1.4358 ] Assuming zero filled SBK key
[   1.4370 ] 
[   1.4370 ] Updating BCT with signature
[   1.4385 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatesig bct_list_signed.xml
[   1.4400 ] 
[   1.4401 ] Sending BCTs
[   1.4414 ] tegrarcm --download bct P2180_A00_LP4_DSC_204Mhz.bct
[   1.4426 ] Applet version 00.01.0000
[   1.4472 ] Sending bct
[   1.4474 ] [................................................] 100%
[   1.5707 ] 
[   1.5707 ] Sending bootloader and pre-requisite binaries
[   1.5726 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb 0
[   1.5746 ] Applet version 00.01.0000
[   1.5797 ] Sending ebt
[   1.5802 ] [................................................] 100%
[   1.6789 ] Sending rp1
[   1.6803 ] [................................................] 100%
[   1.7828 ] 
[   1.7829 ] 
[   1.7850 ] tegrarcm --boot recovery
[   1.7869 ] Applet version 00.01.0000
[   1.7944 ] 
[   1.7944 ] Writing partition
[   1.7960 ] tegradevflash --write DTB /home/dennis/nvidia/64_TX1/Linux_for_Tegra/bootloader/signed/tegra210-jetson-tx1-p2597-2180-a01-devkit_sigheader.dtb.encrypt
[   1.7974 ] Cboot version 00.01.0000
[   2.4421 ] Nothing to write
[   2.4421 ] 
[   2.4422 ] Coldbooting the device
[   2.4444 ] tegradevflash --reboot coldboot
[   2.4463 ] Cboot version 00.01.0000
[   2.4520 ] 
*** The [DTB] has been updated successfully. ***

You’ll want to see this first and find out if your patch is in place (JetPack3.3 might have this already patched, not sure):
https://devtalk.nvidia.com/default/topic/1036286/jetson-tx1/flashing-just-dtb-on-28-2-and-tx1/post/5264465/#5264465

Keep in mind that there are essentially two dtb flash methods…one is to flash the existing dtb which a normal flash would install after editing that dtb file, the other is to specifically name the file. An example of the latter case:

sudo ./flash.sh -r -d your_custom_tree.dtb jetson-tx2 mmcblk0p1

Dear linuxdev,

Thank you sir, the patch works for JetPack3.3.