How to backup the program in TX1 module to another TX1 module?

Hello:
I have a tx1 module with programs in it. I want to back up the entire program and copy it to the new tx1 module. I use sudo ./tegraflash.py --bl cboot.bin --applet nvtboot_recovery.bin --chip 0x21 --cmd “read APP my_backup_image_APP.img” This command backs up, but this command is stuck, and the backup can’t be done.
The system updated with sdkmanger can be backed up to the new tx1 module, but the tx1 module with the program does not work. I think the size of the partition in the tx1 module with the program is different from the partition size updated by sdkmanger. Why? Please help me, thanks

hello aaron.ge,

could you please try below to back-up and restore the system.img
for example,
To clone the image.
$ sudo ./flash.sh -r -k APP -G backup.img jetson-tx1 mmcblk0p1

To restore the image.
$ sudo cp backup.img bootloader/system.img
$ sudo ./flash.sh -r -k APP jetson-tx1 mmcblk0p1
thanks

Do beware that a clone is reading a lot of data and takes a long time. If the TX1 has 16GB of eMMC, then it is reading almost all of it over a slow USB2 connection, and the eMMC is probably not as fast as the hard drive it is being copied to.

A clone via @JerryChang 's command will clone the rootfs partition. The other partitions are small in comparison, and would not take much time…nor are those partitions needed (flashing only works with the same L4T/JetPack/SDKM release which created the original install, and this will install those other files during restore of the rootfs).

Clone actually produces both the “backup.img” mentioned by @JerryChang, but it also produces “backup.img.raw”. The “raw” image is large, the “sparse” (".img") is smaller. The raw image can be mounted and examined and manipulated, but the sparse image is just for flashing. Either image works for flash. FYI, if you forget the “-r” option to flash.sh, then your clone will be overwritten.