I have replaced the default TX2 DTB using the following procedure.
- Note the build time of the current DTB using
$ cat /proc/device-tree/nvidia,dtbbuildtime
May 17 201800:17:47 - Decompile the current DTB using
$ dtc -I fs -O dts -o tree_from_proc.dts /proc/device-tree - Edit the source dts file, eg change the dtbbuildtime to now
- Recompile the DTB using
DTC_FLAGS=“-S 524288”
OUTPUT_DTB=tegra186-quill-p3310-1000-c03-00-base.dtb
dtc -I dts -O dtb ${DTC_FLAGS} -o ${OUTPUT_DTB} tree_from_proc.dts - Copy the new DTB to /boot, change the user and group attributes to ‘ubuntu’
- Add the following line to /boot/extlinux/extlinux.conf
FDT /boot/tegra186-quill-p3310-1000-c03-00-base.dtb - Reboot and test for the new DTB using
$ cat /proc/device-tree/nvidia,dtbbuildtime
Feb 12 201900:12:15
This worked fine however to test it further I wiped the DTB partitions, which I assumed were no longer used or required. I used the commands
$ dd if=/dev/zero of=/dev/mmcblk0p26
$ dd if=/dev/zero of=/dev/mmcblk0p27
After wiping these partitions, I could no long boot the device and I had to reflash these using
$ sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1
Why is there still a dependancy on these partitions?