Orin NX flashing on custom carrier board

I have an Orin NX 16GB SoM that works/boots on a custom carrier board. I would like to reflash the Orin NX module using a Jetson Nano developer kit’s carrier board. After downloading the default BSP from Jetson Linux 35.5.0, I first do all the steps until sudo ./apply_binaries.sh. Then, I replaced the kernel image at Linux_for_Tegra/kernel/Image, the dtb at Linux_for_Tegra/kernel/dtb/tegra234-p3767-0000-p3768-0000-a0.dtb and the modules at Linux_for_Tegra/rootfs/lib/modules by copying these files /boot/Image, /boot/dtb/kernel_tegra234-p3767-0000-p3768-0000-a0.dtb and /lib/modules from the Orin NX module before reflashing.

The command used for flashing the Orin NX is as follows

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi_nvme.xml -d ./kernel/dtb/tegra234-p3767-0000-p3768-0000-a0.dtb -K ./kernel/Image" --network usb0 --showlogs jetson-orin-nano-devkit nvme0n1p1

This shows that the flash is successful on the terminal. However, when I try to reboot the device it does not boot up properly. The screen shows the attempt to direct boot and then goes blank. It then says that there is no HDMI output. I also applied this patch

I am not sure what else I must copy over from the existing Orin NX to reflash it and it make it work with the custom carrier board. I need to reflash it without using a backup raw disk image. Please let me know what other steps I am missing or if you will need more information. Thank you.

Follow these below steps correctly:

It says to copy all the dtb files not just one dtb file…

Also the steps of copying modules is not mentioned and is not required, I suppose.

correct command to flash to external NVME is:

$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1
-c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml”
–showlogs --network usb0 jetson-orin-nano-devkit internal

This is from the below “Quick start” section documentation in the developer guide…

Thank you so much for your response. Could you share the link to the first image? I did not cross-compile and build the kernel and dtb files. As I mentioned, I only have access to an existing module on a custom carrier board. I will check that Jetson to find the boot/dts/nvidia folder to copy all the files.

Please share a link to that page so that I can follow the steps correctly!


you mean you dont have seperate host pc to build the kernel and dtb? then how are you executing flash command to flash the unit…

these files will be present in the “kernel_out” directory which is created just before you start build process as shown below:


This is the link for build process, in case you have modified any source or dts files:


Yes, I have a separate host PC for executing the flash command.

I do not know what modifications need to be made in the source or dts files because I do not have knowledge about the custom carrier board.

Which is why I was wondering if there is a way to reflash the module by just using files in already flashed/working module that comes with the custom carrier board.

Please let me know if this is possible! Thanks you.

In case your carrier board does not have any EEPROM, then you need to change the size to zero in the device tree file and rebuild the kernel and reflash it.
Check this in this link


For downloading the BSP from website and directly flash it, follow this link


First check with your vendor, if the unit is already flashed or you need to reflash it