The image created was not actually populated to the flash drive on the Jetson. What I’d suggest is look at “bootloader/system.img”…this file should be loopback mountable, e.g., to mount read-only on the host at “/mnt” (if “system.img” won’t mount, look for “system.img.raw”…though this might be left over from a different flash):
sudo mount -o loop,ro /where/ever/L4T/is/<b>Linux_for_Tegra/bootloader/system.img</b> /mnt
sudo umount /mnt
Raw images are just exact copies of an entire file system and can be loopback mounted or copied byte-for-byte onto a partition. Sparse images are the equivalent of cheap compression and cannot be loopback mounted without extracting. It appears the raw image was generated, but not the sparse image…which is what you want.
There are a number of ways to copy the image to thumb drive. If you already created the first partition as the exact size of the system.img starting on the correct offset you can dd it directly. Otherwise, just mount the image like above, and then use sudo to recursively copy (with permission preservation) the “/mnt” read-only version onto the partition (this has the advantage that the image and partition can be different sizes…files are copied instead of a file system…you can do this with dd but it doesn’t seem “proper” if sizes don’t match…you might find some validation software won’t like it). Use gdisk to do any SD card partitioning.
rsync would also work if just doing updates on a reference cloned rootfs.
An example for ordinary copy is (assumes thumb drive on host is sdb…adjust accordingly):
# Partition with a big enough partition on the thumb drive's first partition, e.g., 16GB or more using gdisk (I'm guessing you want larger, e.g., 64GB).
# Make sure you have a large enough ext4 first partition at sdb1:
lsblk -f /dev/sdb
mount -o loop,ro /where/ever/it/is/Linux_for_Tegra/bootloader/system.img /mnt/image
mount /dev/sdb1 /mnt/thumb
cp -adpR /mnt/image/* .
# This thumb should be bootable if the image had the "/boot" content.
Note: The sda1 target changes the “/boot” configuration files and where U-Boot looks for the rootfs. If you point to mmcblk0p1, then you can just edit the extlinux.conf file on eMMC to point at the SD and be done without flashing it…with sda1 target it means your Jetson cannot boot without the SD card being in place and having “/boot” populated on it (including extlinux.conf).
If you ever want to edit the image itself just mount without the “,ro” part of the mount options.