That file size is correct and matches “-S 28GiB”.
According to that log flash was successful.
So I went over previous information again and found I did miss something…I had thought your ext4 did not have the 64-bit extensions, but it does:
ext4 = {
features = has_journal,extent,huge_file,flex_bg,<b>metadata_csum,64bit,</b>dir_nlink,extra_isize
inode_size = 256
}
So everything is correct, except your host is defaulting in ext4 creation to 64-bit extensions which U-Boot doesn’t understand. I should have caught that sooner.
The flash.sh script can be edited to tell it to ignore the host’s defaults, or you can temporarily edit the host’s “/etc/mke2fs.conf”. These options need to be removed:
metadata_csum,64bit,
Editing mke2fs.conf would stop the 64-bit extensions until the option is added back in. Editing flash.sh instead makes flash.sh override the 64-bit extensions and to not use them.
This URL explains editing flash.sh:
https://devtalk.nvidia.com/default/topic/1001880/jetson-tx2/tx2-not-booting-after-successful-flashing-/post/5120419/#5120419
Changing that one line in flash.sh to this tells it to ignore the 64-bit and meta_csum options:
mkfs -t $4 -O <b>^metadata_csum,^64bit</b> "${loop_dev}" > /dev/null 2>&1;