In this blog post, we will explain how to move your root file system on EMMC flash to SD card storage directly. The previous version of this post is here:
https://www.forecr.io/blogs/bsp-development/changing-storage-of-the-root-file-system-emmc-to-sdmmc
The advantage of this version is the boot up speed. In the previous version, the file system into the SD card mounted with a service after the file system into the eMMC mounted. This process increases the boot up time. In this post, the file system into the SD card mounted directly without any service. On the other hand, the Jetson module won’t boot up without SD card until the extlinux.conf file changed. To avoid this problem, you can backup your Jetson module before changing the root file system.
First, connect your SD card to SD card slot and connect the basic interfaces (Ethernet, HDMI, keyboard, mouse) then power on.
Open a terminal and type these commands below:
sudo jetson_clocks
gnome-disks
The first command allows the Jetson module’s whole sources to use. The next command opens GNOME Disks application below.
Create a new partition from SD card storage.
Format the disk as ext4 format (partition size is up to you but must be min current file system’s size).
After creating the partition, check it’s name (/dev/mmcblk1p1).
Download the script file from here (Alternative) and extract it. Then, run it with this command below:
sudo ./change_rootfs_storage_direct-emmc_to_sdmmc.sh {EXTERNAL_STORAGE}
In our setup, we typed this command below:
sudo ./change_rootfs_storage_direct-emmc_to_sdmmc.sh /dev/mmcblk1p1
A few times later, the whole file system copied and the root path changed.
It’s time to reboot the Jetson module. Reboot it and check the Root File System copied successfully.
Open a terminal and type this command to check the root mounted from SD card below:
df -h
After rebooting you can see that the new storage is assigned as root file system.