Is it possible to update a jetson TX2 from 28.2.1 to 32.x with only ssh


we have several TX2 installed at customer locations that are only accessible by ethernet that we need to update from 28.2.1 to 32.x. We have only a ssh access, and ‘sudo reboot’ works. Is there a procedure available to do that upgrade ?


Embedded systems don’t have a BIOS, and there is no ability to boot into any kind of rescue disk. There are many partitions which are binary signed content used in boot, and although if you had a known working set of the non-rootfs content properly signed there would be a tiny sliver of hope, then you’d run into trouble as soon as you started updating the root filesystem. This isn’t practical and the odds of it working are extremely tiny. I would say avoid it, you really need a host PC to flash from.

I hoped an official and positive answer from someone at NVidia. We buy TX2 jetson’s from Nvidia to build systems that we sell to customers. If bug-fixes from NVidia (like here, where 32.x fixes a streaming problem we have with 28.2.1) cannot be applied remotely (our products are used at quasi-unreachable locations, except by ‘ssh’), that’s a big problem. I surmise that NVidia does not expect the Jetson TX2’s to be only used in labo’s. If it is so this should be advertised in capital letters at the beginning of the documentation.

My understanding is that a future release will allow a standard “apt” style update mechanism, but it doesn’t exist yet and I’ve never seen any announcement as to when this would be put in place. NVIDIA would have to provide that information.

hello phdm,

in the future we have plans to move to OTA updates via a debian package server hosted online.
please also check similar discussion threads, such as Topic 1056010, Topic 1063881, and Topic 1055187 for reference.

Hello JerryChang,

“in the future we have plans to move to OTA updates via a debian package server hosted online.”

Thanks for your answer.

Actually my main concern is not about the debian packages on the rootfs, because that is already solved by apt-get (and we even made packages ourselves to replace the apply-binaries script), or the kernel, because that is already solved by uboot (and even the dtb, because I took care of keeping uboot from jetpack-3.0 although all the other firmwares come from 3.3).

What I really need is the ability to update the hidden firmwares that kernel-4.9 rely upon. Will that be covered by your OTA update ?

And how near is that future ?

Will that be available to update from 3.3 to 4.2 ?
Or will that start with 4.2 to 5.x ?
Or only from 5.x to 6.x ?


hello phdm,

we didn’t come out conclusion for the details of OTA updates.
I’ll update the status after received confirmation.

Hello JerryChang,


Sure :)

3.3 OTA update to 4.3 would be a perfect option for me and all the threads you pointed me at.

Meanwhile, I tried to start a vanilla 4.9 kernel from Jetpack-4.2 on a board where a kernel from Jetpack-3.3 runs perfectly, without changing anything in the dtb (which describes the hardware, and thus has not changed), and that failed completely : I got not any message after the ‘Starting kernel…’ message issued by uboot. It seems to me that a 4.9 kernel should at least start where a 4.4 kernel can start. Do you have fixes for that ?


hello phdm,

please refer to below for discussion results.
please note that it may varies after formal public release.

  1. the OTA update would update bootloder and also firmware, it’ll write all necessary partitions to achieve update process.
  2. the OTA updates via a debian package server hosted online will start from JetPack-4.3 (i.e. l4t-r32.3).
    for later release (i.e. l4t-r32.4) you may access server to upgrade the revision.
  3. however, we’re not ready to support such OTA process moving from r28.x to r32.x