Flashing remotely Orin devices

Hi all,

Just thought I would make sure. This wasn’t possible until now, is remote flashing a possibility with the new Orin devices?

Thanks a lot

Still need an Ubuntu host PC (Ubuntu 20.04 would be advised), and USB connection to the recovery mode Jetson.

Thank you @linuxdev !

Hi antoine,

Although for the first flash you’ll need an Ubuntu host PC. You can actually replace the kernel and the device tree remotely by doing the following:

  • After flashing using the SDK manager:
  • Copy it over the updated Image and device tree to the board (this can be accomplished through a ssh).
  • Copy the kernel over to sudo cp Image /boot/
  • Copy the new device tree over to sudo cp /boot/dtb/

Note: If building from the Linux_for_Tegra folder the new kernel and device tree are located at: kernel/Image and images/arch/arm64/boot/dts/nvidia/tegra234-p3701-0000-p3737-0000.dtb

  • Modify the /boot/extlinux/extlinux.conf so that it looks as follows:
TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/$NEW_IMAGE
      INITRD /boot/initrd
      FDT /boot/dtb/$NEW_DTB.dtb
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2 nv-auto-config

LABEL backup
      MENU LABEL backup kernel
      LINUX /boot/Image.bk
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2 nv-auto-config
  • Reboot the board
1 Like

That’s interesting @emmanuel.madrigal , thank you for your reply

The issue is that I do not believe this is equivalent to flashing the board. It still needs to boot correctly in order to copy the new image to it. We have experienced boards not being able to boot at all and getting stuck at the nvidia logo for example. The only solution we have found to this is flashing the board with the SDK manager

Oh ok, if your use case is more about recovering from failure, you might want to look into AB partitioning if you can spare the disk space.

It will basically enable you to have two sets of rootfs/kernel/etc and if one of them fails you can boot into the other. This can be mixed with OTA updates so that you can run the flashing remotely by creating a package with all the relevant binaries.

These links go into more detail:
AB Partitioning:
https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/Bootloader/UpdateAndRedundancy.html?highlight=partitioning
OTA updates.
https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/SoftwarePackagesAndTheUpdateMechanism.html?highlight=ota#over-the-air-update

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.