Nvidia Jetson L4T Integration

Hello @lramirez has this experiment been tried with OS OTA on external drive on a Xavier NX emmc using Jetpack 5.1 (R35.2.1)? We have successfully been able to create the OTA Payload package, deploy to target Jetson device with changes in some parts of the scripts to utilize /dev/nvme0n1 instead of mmcblk0p1.
The Mender deployment works until installation stage & then stays in reboot stage. However, when we check the Jetson device, we see that it has rebooted with the new rootfs image, but on internal drive instead of external even though we have updated the /usr/share/mender/modules/v3/rootfs-image-jetson to consider external drive instead of internal. We also made this change in the above script:

# Let's run the upgrade process
        cd ${WORKDIR}/Linux_for_Tegra/tools/ota_tools/version_upgrade
        ./nv_ota_start.sh /dev/nvme0n1 "/${UDA}ota/ota_payload_package.tar.gz"

We think this bug could be a part being enforced by the mender binary object. How do we tell Mender that the reboot needs to happen on external drive instead?
Could you let us know if the hypothesis is correct?

Edit 1: Adding more context

  • OTA from Jetpack 4.6 R32.7.1 to Jetpack 5.1 R35.2.1
  • OTA Payload package created using the sample rootfs image & BSP downloaded from the release page of Jetpack 5.1.
  • Command used for OTA Payload package creation from NVIDIA Documentation
sudo -E ROOTFS_AB=1 ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh -o rootfs_updater.sh --external-device nvme0n1 -S 40GiB jetson-xavier-nx-devkit-emmc R32-7
1 Like