Boot Jetson TX2 from SD Card - require to know config changes

NVIDIA Jetson TX2/TX2i OEM Product Design Guide, page 72
Pin D7 can be used to boot from SDMMC.

I’ve tied this point to 1.8V and it does indeed to redirect boot away from eMMC (ie, boot failed), but I don’t have an SD card with boot loader to try.

Is there a way to create an SD card with bootloader?

I don’t know if the change you are looking at actually moves everything to the SD card…someone will have to clarify. Typically some of the partitions would still remain on eMMC even if you flashed to mmcblk1p1 (SD card) as the flash target.

Now if you happen to know what partitions need to be on the SD card, then there is a reasonable possibility that creating these manually on the SD card with gdisk (and setting labels) to match what is in a regular eMMC partition setup would do the job (followed by dd to copy each partition out of the eMMC as a binary file, and then dd to write back into the SD card…this could be done on a separate host or on the Jetson directly). You can list existing partitions and their labels via “sudo gdisk -l /dev/mmcblk0”. You might look at IDs via the “blkid” command.

Since I do not know about that pin, can someone from NVIDIA suggest what partitions other than rootfs might be changed to SD card when this pin (D7) is triggered as in #21? Or which partitions will always be required to stay on eMMC?

as per my understanding manual partition labeling is hardly required and the entire /dev/mmcblk0 can be dd’ed to /dev/mmcblk1 and that will recreate the partition tables structure , will not it?

The partition table should be copied verbatim. Obviously you would have at least more disk space on target than the source. May be in some cases, the blocksize would have to be adjusted with dd (try bs=512).

Two things to do after cloning the partition with dd and before mounting it are:

  • give it a new UUID, so that you won’t have two partitions with same UUID…that might fool udev
  • resize and check filesystem
    (gparted can do these)