How to prepare root fs on microSD card to boot production module from external SD card?

I am using a “production” Jetson Nano core module with 16 GB eMMC on NCB00 carrier board. I could successfully flash Jetpack 4.6.2 to the eMMC using the NVidia SDK Manager. Unfortunately - as many others saw already before me - the eMMC storage space is way too small when also the SDKs are installed. Fortunately, the NCB00 carrier board has a microSD card slot.

In order to make use of it, I also replaced the DTB for the B00 carrier board (tegra210-p3448-0002-p3449-0000-b00.dtb when using the eMMC core module) with that from the manufacturer and reflashed the DTBs using:
sudo ./flash.sh -r -k DTB jetson-nano-emmc mmcblk0p1

After that I also could see the microSD card inserted in the external micro SD card slot on the carrier board as mmcblk1.

In order to let the board use the root file system from the microSD card during boot, I changed in the /boot/extlinux/extlinux.conf the ‘mmcblk0p1’ to ‘mmcblk1p1’ as described e.g. in this thread: Can not boot from sdcard

The microSD card inserted in the slot is a 64 GB card which I prepared previously by writing the Nano 4G Jetpack 4.6.2 image to it using Balena Etcher.

Unfortunately, now the boot hangs with “[some timestamp] Reserved SVD code 108”.

So I assume, the micro SD card that can be accessed as mmcblk1 must be prepared somehow in a different way. Perhaps also using the SDK manager on the host system as mentioned here by @linuxdev : About Flashing Jetson OS to Jetson Xavier NX emmc module - #9 by linuxdev

Can you please give me more advice on how to prepare the micro SD card?

The method to prepare the image on the board is almost same as Flashing to a USB Drive in below doc but you have to replace the device to your sdcard.

https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E01O0HA

The main idea is

  1. Your prepare the roofs of your sdcard in somewhere else.

  2. key command: $ sudo BOOTDEV=mmcblk1p1 ./flash.sh jetson-nano-emmc mmcblk1p1 → this will tell the kernel to mount the file system from sdcard.

Please be aware you cannot really fully boot from sdcard. You can only mount file system from sdcard. But that is already sufficient for your disk space problem.

1 Like

Thank you very much!
Adapting the USB drive preparation approach for the micro SD card brought the desired result.

A note for those, who go the same way:
The system image that is written to the SD card this way only contains the OS. You still have to install the SDK components (CUDA, computer vision etc.) which can be done through SDK manager (only select the SDK components and deselect the OS image; no recovery mode required for that task).
After this, another 8 GB on the SD card are gone but on a 64 GB card you still have about 46 GB left.

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