SD card boot on Jetson Nano

Hi,

I use a customized Carrier board(FLOYD Carrier for NVIDIA Jetson Nano & Xavier NX) for Jetson nano, which uses emmc image(BSP) to boot. is it possible to make it to boot from SD card?

I have this module : model : P3448
180-13448 - DAAA - B01

does it needs any HW support? this carrier board support an SD card slot, wich uses SDMMC_DAT0/1/2/3, SDMMC_CMD, SDMMC_CLK signals. Can I boot from it?

Or Can I make an image to boot from this external SD card which is on carrier board?

If I need to create and SD card bootable Image can you please guide me?

It is not possible for emmc module to use same “sdcard image” as the sdcard module.

But you can boot the rootfs or kernel from external sdcard.

Before those “booting” issue, is your sdcard slot already working when you plug a sdcard in? This is needed to get ready first.

Hi,

my SD card on Carrier board is working when I plug it on to the SD card slot. can you route me further on this?

Which way do you prefer to boot?

  1. only boot rootfs from sdcard

  2. Boot both kernel + rootfs from sdcard

Or you have no idea what is difference between these two?

Actually, I do not have any idea about the difference. but I prefer to boot both kernel and rootfs from SD card. please sugget me,

can you also let me know the details on option 1

Jetson nano is not able to totally boot from external storage. The emmc inside the module is still required.

The boot flow is as below:

nvtboot → cboot → uboot → kernel → kernel to mount the file system (rootfs).

Where you can have options are in bold.

nvtboot (emmc) → cboot (emmc) → uboot (emmc) → kernel → kernel to mount the file system (rootfs).

The option means you can select to boot kernel from any external devices, unless the uboot does not support that device. And same to rootfs.

Thus, there are lots of combinations could be used. For example, have sdcard and usb drive both connected on device, I can ask uboot to use kernel from sdcard and then use that kernel to mount the rootfs from usb drive. Of course common people will not do such things. Just an example to explain.

Thus, for case (1), you can follow this page.
https://elinux.org/Jetson/L4T/Boot_From_External_Device

As for case(2), the only difference is let uboot choose to search kernel on sdcard instead of emmc. Thus, doing the same page as above page, but stop the uboot boot process and change the boot order with following command.

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

So which option you suggest will be easy for user? Also If I want to build BSP from source for SD card boot, what is the procedure? same as emmc?

Boot rootfs only would be easier.

But please note that both methods don’t guarantee the OTA update functionality.

please confirm on this as well

I shared that method in previous comment. Maybe you can read that first.

sure, thank you

Hi,
can we load multiple Ubuntu OSes onto different partitions of the same NVMe drive with the flash script?

Also is it possible to upgrade the OS to ubuntu 18.04 in BSP based on L4T32.4.3?

can we load multiple Ubuntu OSes onto different partitions of the same NVMe drive with the flash script?

No, this is not supported.

Also is it possible to upgrade the OS to ubuntu 18.04 in BSP based on L4T32.4.3?

Don’t know what is the problem here. 32.4.3 is already ubuntu18.04.

1 Like

Hi Thanks for that,

this was an error from me, it has Ubuntu 18.04

I have a TX2 NX module in my B01 dev kit carrier board. I attempted this solution and when it goes to look at the usb0 as a boot target, uBoot runs “usb start” and it fails saying no controller found. I also tried modifying the extlinux.conf file on the emmc memory to point rootfs=/dev/sda1 so that at least Linux would know to look at my USB flash drive for the rootfs but having done that it caused a Kernel panic and reboot loop. It seems that the USB controller is not being brought up until past when the rootfs is identified and booted. Do you have any suggestions? I have the USB flash drive setup correctly following this guide but even still Linux fails to start

I would suggest you can file a new topic. This topic is for sdcard.