How to update dtb of TX2 without flashing

hello jetson_user,

you don’t need those tegraflash commands to generate signed and encrypted binaries.
please enable the flash scripts, adding --no-flash options into the commands line.
for example,
$ sudo ./flash.sh --no-flash -k kernel-dtb jetson-tx2 mmcblk0p1

please refer to below, it will calling all necessary python scripts to complete the process.

*** Signing tegra186-quill-p3310-1000-c03-00-base.dtb ***
./tegraflash.py --chip 0x18 --cmd "sign tegra186-quill-p3310-1000-c03-00-base.dtb" --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.0070 ] Generating signature
[   0.0262 ] tegrasign_v2 --key None --getmode mode.txt
[   0.0273 ] Assuming zero filled SBK key
[   0.0317 ]
[   0.0318 ] sign_type   : 825439088
[   0.0319 ] header_magic: d00dfeed
[   0.0341 ] tegrahost_v2 --chip 0x18 --align 1_tegra186-quill-p3310-1000-c03-00-base.dtb
[   0.0370 ]
[   0.0384 ] tegrahost_v2 --appendsigheader 1_tegra186-quill-p3310-1000-c03-00-base.dtb zerosbk
[   0.0417 ]
[   0.0436 ] tegrasign_v2 --key None --list 1_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   0.0449 ] Assuming zero filled SBK key
[   0.0613 ]
[   0.0642 ] tegrahost_v2 --updatesigheader 1_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt 1_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.hash zerosbk

after that,
you’ll also found it generate signed and encrypted binaries to your local host machine.

[   0.0667 ] Signed file: $OUT/Linux_for_Tegra/bootloader/tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt

you may copy this binary to your remote target, using dd commands to update the partition without flashing.
thanks

1 Like