SD Card boot - Xavier NX

Please suggest the exact steps to boot Xavier -NX (not dev kit module) from SD Card. I would like to prepare a bootable SD Card.

System: Xavier-NX + Custom Carrier board(with SD Card slot).

Hi,

Please refer to

https://elinux.org/Jetson/L4T/Boot_From_External_Device

Thank you. I will try these steps when back to office.

Correct me if I am wrong. It seems only rootfs is moved to external device. Flashing is still required.

My requirement is a bootable sd card which can bring up the system. Customer just buys Xavier NX and carrier board. They just insert the sd card to bring up the system without any flashing. Is it achievable on Xavier NX?

My requirement is a bootable sd card which can bring up the system. Customer just buys Xavier NX and carrier board. They just insert the sd card to bring up the system without any flashing. Is it achievable on Xavier NX?

Nope, no support.
Actually sdcard image is not purely booting from sdcard only.

rootfs(filesystem) from sdcard works.

1 Like

This is kind of part 2, trying to understand and clarify the boot process.

Below is the snip of boot log captured from Xavier-NX using our carrier board.

[0004.281] I> ########## SD boot ##########
[0004.285] I> No sdcard
[0004.287] I> -0 params source =
[0004.290] E> Blockdev open: exit error
[0004.294] E> SD boot failed, err: 724238353
[0004.298] I> ########## USB boot ##########

I assume that these are outputs from cboot which mostly probes a gpio pin to check the presence of an SD Card, probably SDMMC_CD (GPIO08)signal.

Few queries on that regard.

  1. Does cboot load any dtb file during booting? If so, what is the corresponding dts file?

  2. Our carrier board has an sd card slot. Lines are exactly mapped to module as in dev-kit carrier board. Then, why is not getting detected during boot?

Thank you.

Cboot uses same dtb file as kernel but in different partition.

Our carrier board has an sd card slot. Lines are exactly mapped to module as in dev-kit carrier board. Then, why is not getting detected during boot?

Do you create your own carrier board but not buy it from a vendor? If that is true, then you need to configure the dts to make sdcard slot work. By default this is not enabled at all because none of nvidia devkit has sdcard slot on it.

Do you create your own carrier board but not buy it from a vendor? If that is true, then you need to configure the dts to make sdcard slot work. By default this is not enabled at all because none of nvidia devkit has sdcard slot on it.

I am sorry, I did not put my question properly.

What I meant is, it is our own carrier board with sd card slot. System is Xavier-NX(production) + our carrier board.
When the system is up, it detects SD card and it works fine.
I also could move rootfs to sdcard and make it work.

However, during booting it shows “No sdcard” as mentioned in above post from cboot. I was wondering why is it happening.

Hi,

Since the "sdboot"on cboot may originally designed for NX devkit (sdcard) module, it is possible that driver is trying to open sdmmc0 but not sdmmc3.

And back to the boot up issue, actually the device is still booting the kernel from emmc. It then uses that kernel to enable sdcard and loads the rootfs.

Since the "sdboot"on cboot may originally designed for NX devkit (sdcard) module, it is possible that driver is trying to open sdmmc0 but not sdmmc3.

Ok, that answers. The sd lines on our carrier board is on sdmmc3. Thank you.

Just to confirm and conclude:

  • If external devices(ex: sd card) are used for booting, only rootfs can be moved to external device. Kernel and other bootloader components shall be in eMMC.

  • For production modules of Xavier-NX, it is not possible to have a single sd blob image which can bring up the system.

Please confirm.

  • If external devices(ex: sd card) are used for booting, only rootfs can be moved to external device. Kernel and other bootloader components shall be in eMMC.
  • For production modules of Xavier-NX, it is not possible to have a single sd blob image which can bring up the system.

Hi,

My answer to both questions are yes. Actually, on the sdcard module which uses sd blob image, it does not include the bootloader binary at all. The bootloader binary is on the qspi component and was flashed by the factory. That is why your sdcard blob image can work.