Mender-Jetson Orin NX: keep `/data` on UDA

Hi all. We are using Mender on Jetson Orin NX devices with Yocto / JetPack 6 (some devices were originally using JetPack 5 that was then bumped to JetPack 6). We already have a fleet of almost 1000 devices where the persistent /data filesystem is mounted from the UDA partition (p15 in that layout)

partition name="UDA" type="data">
             <filename> DATAFILE </filename>
             <description> **Required.** This partition may be mounted and used to store user
              data. </description>
</partition>

With newer images, /data is written into partition p17 with name permanet_user_storage.

<partition name="permanet_user_storage" id= "17" type="data">
            <filename> DATAFILE </filename>
            <description> **Required.** This partition is used to store permanent user
              and device data between A/B updates</description>
</partition>

Both these are from the corresponding partition layout files. From what I could find, this change happened with the JetPack 6 bump. In our use case, it appeared after updating meta-mender-community layer with commit 313bffde1176b06e6074488cad103bc46b610cbf

Our already provisioned devices have their persistent data on p15. If we OTA update them to an image where /data is expected to be mounted from p17, there’s a risk of losing access to the data without a migration beforehand. We would prefer to avoid a migration due to the large number of devices.

My questions are:

  • Would it be safe/ok to keep on using p15/UDA as our persistent /data partition?
  • With the above question: can we fork meta-mender-community/meta-mender-tegra so that the mender data partition remains at UDA instead of using permanet_user_storage?
  • If UDA is reserved for NVIDIA (as seen in some other forum posts, here and here), what’s the recommended way of migrating/updating all the existing devices that store /data on UDA?
  • Is there a clean way of mounting /data from p15 with new images? ex. forking repos and modifying rootfs layout file?

Our main goal is compatibility with our existing devices.

If this has already been discussed somewhere, I’d also be happy to read through the relevant thread or documentation. Any guidance on whether keeping /data on UDA is supported, or whether we should implement an explicit p15 -> p17 migration during OTA, would be very helpful.

Thanks!

Hi @chrisg,

Not sure if I understood everything correctly. First, you already have a fleet (of whatever size), which already uses p15(UDA). Now the defaults of meta-mender-community for this specific machine have changed to p17, which you noticed, but you did not ship yet, right?

In that case, I would clearly suggest to just stick to p15. Sorting such a thing out on a mixed fleet is super painful. It can be done, but is better avoided.
As for forking, I don’t think that this is necessary. You almost certainly already have an application, and probably even a minor BSP add-on layer anyways, so I’d just put it in there with a a BitBake override which is specific to your machine.

I’m currently bumping most of the Orin NX stuff in scarthgap, and clean up the integration on wrynose, so hopefully things are stabilised in two or three days.

Greetz,
Josef

Hi @TheYoctoJester thanks a lot for the quick response. yes, given your comments and after some thought, we’ve decided to stick with p15, probably will do so by modifying the rootfs file so that DATAFILE is in the UDA partition as before. Thankfully, no devices were shipped with p17, we noticed this before it could happen.