How to use sd card as default as rootfs in Xavier nx production module emmc 16gb?

I have ordered the nvidia jetson xavier nx producation module with 16gb on board emmc. At first time boot I have got only 1.GB free space. I have placed my program files in external card directory. But I am not able to install the packages/libraries in the external card memory. Please tell me How can I use the sd card of 32 Gb to make all installations and packages installed in external memory not in emmc default memory to overcome the space issue?

The eMMC model, if mounted on a dev kit carrier board, does not support booting directly from an SD card since there is no SD card slot. If you are using a third party carrier board, then it is possible, but you’d need to get that flash and boot software from the manufacturer of that carrier board (the device tree will differ between a dev kit and a third party carrier board, and the support for providing that device tree and alternate boot would be from the carrier board manufacturer).

If you just want more space where the extra software is installed (which happens to be “/usr/local”), then this is easy. You can duplicate the current “/usr/local/*” (e.g., with rsync) to an SD card partition (before adding the extra software), and then mount the partition at “/usr/local”. Following that you’d install CUDA and anything related to it. To see your current content size at “/usr/local”:
sudo du -h -s /usr/local

Note that you could have CUDA already installed at “/usr/local”, and use “rsync” to copy all of this to your SD card partition, followed by mounting that partition on “/usr/local”, but the eMMC would still have that content. One would have to set it up to correctly auto mount the partition at that location such that boot continues if the SD is not there, and then erase the old eMMC content (while SD card is not mounted there).

I have done the steps as
first i unmounted the sd card using nvidia jetson

sudo umount /media/nvidia/sdcard

then i re-foramatted the sd card to ext4

mkfs.ext4 /dev/mmcblk1p1

then I mounted the memory card to home directory

sudo mount /dev/mmcblk1p1 /home/

then I copy the content of /usr/lib/* to sd card

rsync -avAHPX /usr/local /home/

after I unmount the /home removed the original /usr/local directory and now mounted the sd card to /usr/local
but the system is not working on boot

A serial console log would be better since what happened just before this failure is not visible. I looked at where libip4tc.0 is, and it is not related to “/usr/local” (it is in “/lib” or “/usr/lib”, depending on release version). Basically this file and its search location would survive even if “/usr/local” crashes and burns. What seems more relevant is why there is an i2c error, but this begins just before the screenshot. Can you get a serial console boot log? Admittedly, there are a lot of ways the imx219 can throw errors like this (such as not having that sensor) which would also be unrelated to this crash, and perhaps not even being a problem, but we’d need a serial console log to say for sure.

So far as mounting that SD card partition on “/usr/local” goes, did you do this with an entry in “/etc/fstab”? Do you still have the ability to edit this file, e.g., perhaps it still boots with the SD card removed? Or with a second SD card installed, but the partition being empty? Basically I am wondering what access you have to repair without flashing.

My os is crashed how can I reflash it now as it is production module while install ing from BSP flash method it is throwing following error


If you have a carrier board that has sdcard slot and that carrier board is not made by you, then you should contact the board vendor for help.

Default software from us does not provide support for extra sd slot for custom carrier board.

Same question: What carrier board? The default flash software assumes a dev kit carrier board. It wouldn’t be unusual for flashing for a different carrier board working in some ways, but breaking parts. The custom device tree basically defines lane routing, and much of this would be in common even for a custom board, but other parts would differ, and those parts would fail. However, one can flash any module for any software without device tree caring since recovery mode does not use this, and so I find it unusual to see bootloader is not running on device even if it is a third party carrier board (flash should not care).

1 Like

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