In r24.2 updating the DTB was as simple as copying the new version to /boot/ on the TX and rebooting.
In r28.1 things got more complicated requiring you to put the board into recovery mode and re-flash the DTB partition using:
sudo ./flash.sh -r -k DTB jetson-tx1 mmcblk0p1
Now in r28.2 has this changed again? Flashing the DTB using the above command doesn’t update it anymore. I had to reflash the entire board just to get my new DTB in.
sudo ./flash.sh jetson-tx1 mmcblk0p1
I’m doing some clone backup and have not yet installed R28.2 to my TX1, but what do you see from:
sudo gdisk -l /dev/mmcblk0 | egrep -i '(dtb|device)'
Basically I believe the “-k DTB” is based on the GPT partition label (but it will probably be another day before I can check). If the label changed, then perhaps the new label would be used instead of “DTB”. In the TX2 this is label “kernel-dtb”, and differed from the TX1 under R28.1…if this turns out to be a migration towards a uniform naming convention, then perhaps it was nothing but a name change for the partition.
nvidia@tegra-ubuntu:~$ sudo gdisk -l /dev/mmcblk0 | egrep -i '(dtb|device)'
14 29982754 29990945 4.0 MiB 0700 DTB
Below is the partition layout as reported by flash.sh, I tried flashing RP1 in addition to DTB, but still no luck.
*** 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
Here’s the full output of gdisk -l, it doesn’t seem to line up with what flash.sh thinks, is that because of the bootloader?
1 34 29360161 14.0 GiB 0700 APP
2 29360162 29364257 2.0 MiB 0700 TBC
3 29364258 29372449 4.0 MiB 0700 EBT
4 29372450 29376545 2.0 MiB 0700 BPF
5 29376546 29388833 6.0 MiB 0700 WB0
6 29388834 29397025 4.0 MiB 0700 RP1
7 29397026 29409313 6.0 MiB 0700 TOS
8 29409314 29413409 2.0 MiB 0700 EKS
9 29413410 29417505 2.0 MiB 0700 FX
10 29417506 29679649 128.0 MiB 0700 BMP
11 29679650 29720609 20.0 MiB 0700 SOS
12 29720610 29851681 64.0 MiB 0700 EXI
13 29851682 29982753 64.0 MiB 0700 LNX
14 29982754 29990945 4.0 MiB 0700 DTB
15 29990946 29995041 2.0 MiB 0700 NXT
16 29995042 30007329 6.0 MiB 0700 MXB
17 30007330 30019617 6.0 MiB 0700 MXP
18 30019618 30023713 2.0 MiB 0700 USP
19 30023714 30777310 368.0 MiB 0700 UDA
I do see partition “DTB”, so I’m not sure what should work for flash of dtb if the “-k DTB” no longer works. It’ll be another day or so before I can look…if someone else knows the correct flash for dtb in R28.2 TX1 please jump in!
Looks like adding
FDT /boot/dtb/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
To /boot/extlinux/extlinux.conf let’s you update just by copying the dtb to /boot/dtb, so I’m going to do that for now.
Since much of that moved to the partitions you can’t expect the FDT entry to do as expected. There may be cases where it works, but mostly I’d be wary of using FDT/file. I do wish FDT would work in the same way it did in the past.