how to make TX2 SD boot card on a PC?
There may be additions to this, depending on how the Jetson itself is set up.
Basically it boils down to partitioning the SD card such that it has the first partition as a GPT partition containing an ext4 file system. “gdisk -l /dev/mmc1” would list partitions of SD card mmc1. “mkfs.ext4 /dev/mmc1p1” would format the first partition of mmc1 as ext4. Some hosts may enable 64-bit extensions (most do not), and if this is the case, then those extensions must not be used (U-Boot does not understand them). Make sure “/etc/mke2fs.conf” does not have these in the ext4 section:
Assuming the SD card is “/dev/mmc1”, and that “mmc1blk1” (the first partition) is mounted on “/mnt”, you would basically start by unpacking the sample rootfs there via “sudo” (user root permissions). Then, with the driver package (you can download this via JetPack or directly from the L4T release page) you will notice it has the script “apply_binaries.sh”. Normally this applies binaries to the “rootfs/” subdirectory, but you can use the “-r” option and instead apply them to an alternate location. To do this with the mounted SD card:
sudo ./apply_binaries.sh -r /mnt
This will put everything there which you need if “/boot” and configuration is on the eMMC of the Jetson. This should make it possible to transfer to the SD card by a proper extlinux.conf edit. If you had originally flashed with target “mmcblk1p1” instead of “mmcblk0p1”, then you would also need to add the entire “/boot” content on the SD card. Sample rootfs plus apply_binaries.sh adds everything except “/boot” configuration…the arguments to flash.sh are what determine the content of “/boot”. There is no need for this content on the SD card so long as the Jetson uses eMMC for boot config.