TX2 doesn't boot after flashing OS

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;