Cloning device which has os/components flashed to external USB

Hello

Should I still be using the flash.sh method to clone the EMMC, and clone the USB separately? If using the flash.sh, I am unclear how that is executed, do I simply go to the correct folder on the HOST machine and run sudo ./flash.sh -r -k APP -G mmcblk0p1 from there?

Is there a method to take an un-configured Xavier and modify the EMMC to use the external USB without having to use an Ubuntu 18 machine?

Many thanks

Cloning from eMMC gives you a copy of the partition on the eMMC, but your command is missing the “name” of the clone file. It’d be more like this:
sudo ./flash.sh -r -k APP -G my_backup.img mmcblk0p1

This would produce both a “sparse” image:
my_backup.img

And also a “raw” image:
my_backup.img.raw

Both work for flash, but the raw image is the one you can examine, modify, so on. If you were to populate a partition on the USB device, then you’d use the larger raw file. Raw is basically the bit-for-bit exact replica of the partition, while the sparse file is the same thing, but space which was not used on the filesystem is not copied (it can expand as it is installed by filling in the empty space). As a sparse file fills to 100% capacity, its size approaches the size of the raw file.

These files are huge, and take a long time to copy somewhere. I tend to throw away the sparse file, and when I am done, I just use bzip2 -9 on the raw file (which results in about the same size as the sparse file). This file takes a long time to bzip2. You could keep both, and if you do not intend to inspect or modify or use rsync to update it (rsync has a lot of cool functions for a loopback mounted raw clone), then you could use just the sparse file.

thanks for the details, very helpful! - so would you know if the flash.sh works on a modern Ubuntu machine? I read it was limited to 18 or 20

Command line flash.sh works on a much larger range of host PCs than if using the GUI (JetPack/SDKM). However, this is a manual install. After the install you’d also have to know which packages (“optional” packages, e.g., CUDA or sample programs) have your desired extras since this is not part of actual flash (this is what happens with JetPack after flash completes and the Jetson automatically reboots…then extras get added via ssh).

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.