Under R28.1 many of those changes are simpler than with requirements for flash tools on later releases. Did you check the final device tree to see if your changes actually made it into the tree? E.g., extract from a running system:
Bootloader though is still separate from after the time the Linux kernel takes over. Failure during bootloader stage will be different than failure during Linux kernel stage. Is it failing in both cases?
Btw, the CTS/RTS flow control does not work correctly in the TX2 serial console. Is your serial console program trying to use CTS/RTS? Which program are you using for your console? It should run at 115200 8N1.
After flash DTB file, I found the “debug.uart_instance = 3” become “debug.uart_instance = 0”. The tegra186-mb1-bct-misc-si-l4t.cfg file seems to be overwritten.
That failure is in the watchdog timer. By default this shouldn’t be running and isn’t actually part of serial console itself (it is likely that something other than serial console is going wrong). If you are experimenting with watchdog timer, then you should probably remove any watchdog timer edits or modifications until done working on the UART.
The method for updating device tree varies depending on release. Which release are you using (see “head -n 1 /etc/nv_tegra_release”)?