Is there any other method in L4T R28.1 to update dtb file for tx1 besides flashing the DTB partitio...

Refference :
Replace the dtb file with your own build, and update the DTB with the following commands.

Replace your own build DTB with

flash the DTB partition with

sudo ./flash -r -k DTB jetson-tx1 mmcblk0p1

It seem that the only way to update DTB file is flash the DTB partition.
“Modifying the Existing extlinux.conf” can not work???
Is there other method to update DTB file in the tx1 OS??? Just like extlinux.conf.

hello zhili_liu,

we had update the extlinux.conf to avoid statically provided DTB for R28.1.
hence, so far it’s the only way to update the DTB by partition update.

the partition update by the flash script would skip generating the system.img. it would not take you more than 1 minutes to update the DTB. thanks

Hi JerryChang:
In our product, there is no USB port and RESET button for user. The USB port and Force button and Reset button is just for developers, and will be in a box. The user access the TX1 OS through ethernet lan. So, if we want update the DTB file in R28.1, there are many things to do.
Could you add a method to update DTB file in TX1 OS in next reversion of L4T? Just like extlinux.conf.
I think that there will be many other developers need this function.
Thank you!

hello zhili_liu,

don’t you flash your finalize image to your product?
will you update the DTB file for your product?
would you wish your customer easily replace the DTB to brick your product?

Hi JerryChang:

If I use this command in TX1 OS to update DTB file:

sudo dd if=tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb of=/dev/mmcblk0p13

mmcblk0p13 is the DTB partition in my TX1.

I found it worked. But I’m not sure it’s same to using DTB in HOST PC.

Could you tell me more about that?
Can I use dd in TX1 OS instead of DTB in HOST PC?

Thank you very much.

hello zhili_liu,

thanks for sharing, your method works.

however, we would still suggest to update device tree by flashing DTB partition.
we avoiding statically provided DTB in R28.1 since we found issues with u-boot.

hello JerryChang,

When I use “dd” command to update DTB partition, and reboot TX1, the network device name “eth0” became “enx00004…”.

When I use “” to update DTB partition, and reboot TX1, the network device name is still “eth0”.

Could you tell me something about that?

If the “dd” method may lead other problem, I will avoid using it.

Thank you!

I would be interested in the answer as well (I’d like to know if U-Boot deals with device naming in a way which interacts with u-dev). For some general information, there are udev rules which rename “eth…” naming format to “enx…” naming format. From what I understand several years ago administrators of large server farms needed an alternate way to identify where the NIC was in the system, e.g., integrated versus add-on, and so the alternate naming was put in (I prefer the original naming myself).

The only way to update DTB file is flash the DTB partition.

Apologies for digging up an slightly older thread. Right now I have a TX1 configured to boot off the SD card. I’m under the impression that it’s a 2 stage boot though, where it will start booting from the eMMC and then switch to the SD card to load the kernel. That being the case, to flash the dtb should I still be using mmcblk0p13, switch to mmcblk1p13, or use both?


I think you’ll find that external boot media is only for the root partition. There is an option as to whether the boot subdirectory with extlinux.conf is searched for first on eMMC, or on SD card, but steps prior to U-Boot loading Linux are still on the eMMC. Consider that the command line flash argument is mmcblk0p1 for eMMC (the first partition of eMMC used for rootfs), or mmcblk1p1 (the first partition of the SD card used for rootfs)…no other partitions are given an option as to where to install. I suppose it might be possible to alter this behavior, but it is not set up to do so with the flash software provided.

Be sure to base your changed dtb on /boot/dtb/egra210-jetson-tx1-p2597-2180-a01-devkit.dtb instead of /boot/egra210-jetson-tx1-p2597-2180-a01-devkit.dtb. They differ.

My eth is named correctly with my modified dtb from /boot/dtb and named incorrectly if I base it on the one found in /boot