FYI, when the cable says it is “TTL”, or when it says “3.3V”, the cables are the same and are what the TX1 uses. If it mentions an FTDI chipset, then it is better because each serial USB cable potentially has a different driver, but FTDI is almost always there by default (sometimes other brands are as well…sometimes not, though drivers can almost always be added…but you will likely want to avoid adding a driver to your host PC).
If extlinux.conf is correctly modified to add a boot entry, and does not replace the existing boot entry, then you’d just pick the working entry during boot and be done. If not, read on.
“dd” is a command line Linux tool. This tool directly reads the bytes of data from a disk based on offset, and does not need a file system. For example, it can recover some parts of a failed partition which is too damaged to be mounted or read as ext4. If you use dd to create an exact copy of a partition at the correct offset, then it can be called a clone.
The “driver package” (which JetPack downloads) has some similar abilities if the Jetson is connected to the host in recovery mode. The “flash.sh” script, given the right arguments, can also determine the correct offsets of the rootfs partition (“mmcblk0p1”), and make an exact copy to your host PC. Same thing, but dd requires a rescue disk to run on the Jetson, whereas flash.sh runs on the PC and talks to a recovery mode Jetson over the micro-B USB cable. The exact instructions for using flash.sh to clone depends on which version of L4T you use.
FYI, when you flash a Jetson you will generate (within the “Linux_for_Tegra/” directory) file “bootloader/system.img.raw”. “system.img.raw” is 100% an exact duplicate for the backup.img.raw created from clone under flash.sh, and is also an exact match for using dd to read the rootfs partition while using a rescue disk.
All of those above files (system.img.raw, backup.img.raw, and system.img.raw), when renamed as “bootloader/system.img”, are what the Jetson flashes. If you have passed the “-r” argument to flash.sh, then whatever is there now gets flashed. If you fail to pass “-r”, then the existing system.img (if any) is overwritten with one that is nearly the same as the sample rootfs within the “rootfs/” directory on the host. “system.img” is just a “sparse” version of the “raw” “system.img.raw”. Raw images are exact images, sparse images are sort of a way of compressing. Flash software allows either the sparse image to be used (it’s fast to flash) or a raw image (it’s slow to flash) to be used.
The raw image is the only one you can work with. A sparse image is only for flashing. No open source tools are able to handle the version of sparse image used.
If you wish to clone, then you should clone using the same L4T version as that on your Jetson. Technically you can clone with a newer version and it won’t hurt, but if you use the newer version to actually flash and restore, then it won’t work. So you might as well start with the correct version.
Can you tell us which L4T version is on the TX1 now? If not, does the directory on the host still exist from which you flashed? If so, then the “Linux_for_Tegra/rootfs/etc/nv_tegra_release” file’s first line tells the version.