It isn’t possible to clone or restore via serial console…the micro-B USB connector is the method for doing any clone or restore. If you are interested in cloning the instructions will differ depending on release. All of the newer releases (R28.1+) will go something like this when the Jetson is on recovery mode with the micro-B USB connected to the x86_64 PC host (beware this takes a lot of disk space and time):
sudo ./flash.sh -r -k APP -G backup.img jetson-tx2 mmcblk0p1
There is a description in the official documentation, plus:
When you clone you will end up with both a “.img” file and a “.img.raw” file. The “.raw” is the uncompressed (non-sparse) version which can be loopback mounted, examined, edited, so on. The much smaller “.img” file is “sparse” and can be used for flash, but cannot be mounted or examined (the Jetson understands this during flash). Either of these work for restoring a Jetson so long as the file is in the “bootloader/” subdirectory and named “system.img” during a restore.
Note that you cannot attempt two clones in a row, nor two flashes in a row, unless you restart the recovery mode between tries.
EDIT: A normal flash involves unpacking the sample rootfs in the “rootfs/” subdirectory, putting hardware drivers in via the “sudo ./apply_binaries.sh” script, and then a nearly verbatim copy of this becomes system.img when the “-r” option is not used. I say “nearly” because some content is added or edited in the “/boot” directory. Your cloned rootfs will have a “/boot” reflecting the flash.sh parameters during the original flash (e.g., the extlinux.conf).