Behavior when OTA update fails (when OTA_MAX_RETRY_COUNT is exceeded)

Jetson AGX XAVIER
L4T 32.7.2

I would like to see if the bash shell will start after a SW update fails due to a power outage or some other reason.

To confirm the above behavior, we tried the following, as described in the Deveroper Guide.

If rootfs A/B is disabled on the target it boots to the recovery kernel, which runs the OTA update process after executing this step. If the update fails due to power loss, the target device can reboot into the recovery kernel and continue the update. The maximum number of times the target device reboots and continues the update is determined by the script variable OTA_MAX_RETRY_COUNT, which defaults to 0 (zero). If the update fails more than that number of times the target device boots to the recovery kernel and enters the bash shell. You can change the value of OTA_MAX_RETRY_COUNT in ${TARGET_BSP}/‌tools/‌ota_tools/‌version_upgrade/‌nv_recovery.sh.

The conditions under which we tried are as follows:

  • A/B Redundancy: Disabled
  • RootfsAB: Disabled
  • OTA_MAX_RETRY_COUNT = 0

The following internal verifications were performed under the above conditions.

  1. Perform Preparing for an Image-Based OTA Update on this site
  2. Steps Performed on the Jetson Device at 7. Power OFF>ON during reboot
  3. Confirm that rebooting beyond the value of OTA_MAX_RETRY_COUNT will launch the recovery kernel and enter the bash shell

As a result of the verification, the expected 3. behavior was not obtained.
At 2. I tried changing the timing of the restart while checking the logs, but it did not work.

An example of a log of the following implementation is shown below.

reboot_during_OTAupdate.txt (256.4 KB)

What could be the reason why the expected behavior was not obtained?

I have not been able to resolve this issue yet. Please help.

Hi,

Did you mean you unplug the power cable in below step?

Steps Performed on the Jetson Device at 7. Power OFF>ON during reboot

Hi. WayneWWW.

Yes, I did.

What did you see in step 3 after you reach the OTA_MAX_RETRY_COUNT?

We have seen the same logs as when rebooting in step 7 of “Steps Performed on the Jetson Device.”

So it didn’t get into bash shell?

Yes.

After this, we confirm that if left alone, the update will continue to progress and start up as such.

Hi,

We checked your log and the OTA process is successful in one time in your log. So it is expected that the device will not boot into recovery kernel bash.

If you want to boot into recovery kernel bash, you can try manually removing some necessary file such as renaming the “ota_work” directory before booting into recovery kernel.

Hi,
Thanks for the reply.

I have tried it and can confirm that it goes into the bash.
Thank you very much.