Modifying / making custom Ubuntu image / backups

I know the title is confusing, please bear with it…
This is about DOCA/Bluefield-2 -
I have a Dell host machine running Ubuntu 20.04 and this host has two Bluefield2 DPUs installed.
I’ve run the graphical installed and upgraded the firmware and gotten both cards loaded with Ubuntu 20 and the SDK.

What I’m completely failing to grasp from the documentation is how I manage the changes I make to the OS on each card. Ideally I’d like both to be identical with only networking IPs being different on the optical ports. I’d also like to be able to ‘backup’ and modify these OS installs, perhaps as containers or something.

But I can’t understand from the docs just how this is intended to work. How can I not lose my work and configs with a re-flash, how can I send my list of OS and SW changes to other developers on my team?

It would seem like I am supposed to have my own BFB image, but the docs just confuse me about this.

Any help?

Some examples of what I mean - I need to install certain packages on each card under Ubuntu. For example, certain python libs. If I reflash the card, I have to redo this each time from scratch. Isn’t there a way to build a BFB that contains my custom changes? If so, where is this documented?

There are lots of ways to manage this. If you wanted to create your own BFB image, the process is documented here: GitHub - Mellanox/bfb-build: BFB (BlueField boot stream and OS installer) build environment

The most popular way to deploy $things right now is by using containers. Being decoupled from the OS and its dependencies avoids a lot of the system administration concerns.