Boot sequence in Jetson TK1

Does anybody know what the boot sequence is in Jetson TK1?

As I know the TK1 has four kinds of storage devices: eMMc, SD card, USB port, SATA port.

i.e., if there is no u-boot in eMMC, which device will take over to boot next, SD card or USB or SATA?

Thanks!

CPU loads bootloader from eMMC (not sure if there are options for that) and the bootloader can then load the kernel from anywhere (u-boot at least).

I’m not positive, but I don’t think fastboot looks for other devices…it was meant to be simple and fast. whereas u-boot can be set up for whatever order desired. If you have installed u-boot (mine is from R19.3), and go to the u-boot prompt on serial console, you can display environment with the “print” command (or you can type “help” to see commands).

To start with, “boot_targets” lists what is searched:
boot_targets=mmc1 mmc0 usb0 pxe dhcp
…where mmc1 is mmcblk1p1 (SD), mmc0 is mmcblk0p1 (eMMC), usb is obvious, pxe is NFS client/server boot, and I’m guessing dhcp is similar to pxe.

The “boot_targets” variable is used in “bootcmd”, where a loop iterates through “boot_targets” in the order listed. If you wanted to try a different order, you could use the “setenv” command to alter the order of “boot_targets”; the change would not be permanent, but just for one boot, unless you “saveenv”.

I think dhcp loads the kernel image via TFTP, not NFS.

Alternatively, “editenv” is easier to use than “setenv” for modifying existing u-boot variables.