Jetson Nano - Boot from on module SD card for custom BSP


We have a requirement where we need a custom carrier board with some extra I/O. we want to boot from on module SD card from Jetson Nano devkit. Can we make custom BSP for Nano and NX boot from SD card instead of the module emmc?

I know that Jetson nano can not be able to totally boot from external storage. The emmc inside the module is still required. My requirement is build a custom BSP for custom carrier board which uses SD card (SD card supported module from devkit) to boot

Tell me which one is your target first.

1 Like

My requirement is use on module SD card (module from devkit) to boot and use customized the BSP for that. or to simply say I want to flash my custom BSP on nano devkit

I mean you want to boot even the kernel from it or just want to mounting the file system from it?

For the first one, just change the boot target in uboot.

For the second one, check the elinux page over the post I shared.

Yes, I want even kernel to load from SD card. can you point me how to change the boot target in uboot?

Put the board in force recovery mode and then
use below qspi flash script will work?
sudo ./ jetson-nano-qspi-sd mmcblk0p1

Nothing to do with the flash.
Prepare the usb ttl cable first. Stop the boot process in uart console when uboot is entered…

And use below command to change the boot order.

# printenv boot_targets
# setenv boot_targets mmc0 mmc1 usb0  nvme0 pxe dhcp
# saveenv
# boot

bit confused here, you mean to say write the SD card image using Etcher tool then put the SD card on module, then do the changes to the boot order?

Is it possible to put the device in recovery mode and flash using flash script? the way we use for emmc method?

bit confused here, you mean to say write the SD card image using Etcher tool then put the SD card on module, then do the changes to the boot order?

Totally wrong.

I mean use this method to check the uart log on your host. That is the only way to check the bootloader log.

When you see the boot process is in uboot, hit keyboard on your host to interrupt it and then do what I said in previous comment.

Thanks for that, I got it now. My one more doubt is after these boatloader changes. how to flash the image? we have to build it for SD card? or same image which built for eMMC can be flashed? what is the flash/image write procedure for custom BSP on SD card?

If you mean you want to customize it and let the next device can have that function without changing things, then you need to rebuild the uboot source and change the boot order there.

Just as this user did.

1 Like

Something which might help clarify: When booting, and when serial console is attached, it allows you to interrupt U-Boot. If you interrupt early by hitting any key on the keyboard, then you end up in the U-Boot console, and can tell it to continue booting with the command “boot”. You can also make changes to the boot environment, either temporarily for testing, or permanently. The point in boot where you would interrupt has output like this:

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@2490000
Hit any key to stop autoboot:  0 

When there check the output of these:

  • help
  • help boot
  • printenv
  • printenv boot_targets
  • help setenv
  • help saveenv

If you happen to be logging your serial console when you run the above, then you get something you can browse. Environment variables are often expanded like a macro during boot, and you could change those variables. In particular, you could change either which devices are searched for boot content, or the order of search.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.