After flashing the target when going through the SDK Manager, where is the copy of the target on the host? Is there a copy of the target somewhere?
Look here for the base directory of the driver package (which is what performs the flash):
~/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/
You may find downloads related to this at:
~/Downloads/nvidia/sdkm_downloads/
Assuming you have flashed once, then the content of this base directory will contain “rootfs/”. Within this is a purely Ubuntu sample rootfs, and upon flash the NVIDIA-specific files and boot configuration are added over this.
The image which is created for flash is:
bootloader/system.img.raw
This latter image can be loopback mounted, examined, edited, so on. From this image a “sparse” image is created (basically a cheap form of compression), and this creates:
bootloader/system.img
Sparse files can be flashed, but not edited or examined. The sparse system is incompatible with open source tools.
Flash can use a non-sparse (raw) image, it just takes longer. To do so you would copy “system.img.raw” to “system.img”, and flash would work exactly the same as if you had used the sparse image (other than time).
If you were to clone the rootfs (“APP” partition), then the clone would create both a “.img” and “.img.raw” file. I always throw away a cloned sparse image…these are pointless except for mass flashes when you know nothing will need editing.
Extra package additions are not part of system.img.raw. These are added only after flash is complete and are added through ssh/scp. This is one reason a clone is useful, since the clone will have all the packages and updates from the moment flash is complete.