The size of the root filesystem is only 14G

I use “flash.sh” to flash system on my Jetson Xaver Nx with a 64G microSD, but the size of the root filesystem is only 14G. I use the command: sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1.
I check the config file: jetson-xavier-nx-devkit.conf & p3668.conf.common.
In p3668.conf.common: line 105, it defined “ROOTFSSIZE=14GiB”, if I change this value, can I solve this problem? Or is there any other solution?

hello 854792408,

you may found this in the release notes.
it’s a known issue that rootfs on SD card is restricted to 14 GB when using flash.sh to write to an SD card.

please have an alternative ways to generate the SD card image using script files; it creates APP partition at the end, and resizefs works properly to extend the SD card capacity.
you may also check similar discussion threads for reference, for example, Topic 75749, and Topic 73032
thanks

the issue is also observable when flashing NX sdcard with sdkmanager headless. with following OEM-setup;
The solution might be to run the resize script on NX after the flashing.
It needs to be saved as a file, then executed at NX. The value 32GB below can be adjusted to the sdcard, otherwise the script will make 32gb partition out of 14gb

#!/bin/sh
set -ex
GPT_SIZE=40
UDA_NEW_SIZE=32
move_part() {
  name=$(sgdisk -i $1 /dev/mmcblk0 | grep "Partition name" | cut -d"'" -f2)
  typecode=$(sgdisk -i $1 /dev/mmcblk0 | grep "Partition GUID code:" | cut -d' ' -f4)
  guid=$(sgdisk -i $1 /dev/mmcblk0 | grep "Partition unique GUID:" | cut -d' ' -f4)
  sgdisk -d $1 -n $1:$2:$3 -c $1:"$name" -t $1:"$typecode" -u $1:"$guid" /dev/mmcblk0
  partprobe /dev/mmcblk0
}
read DISK_SIZE </sys/block/mmcblk0/size
START=$((DISK_SIZE-GPT_SIZE-UDA_NEW_SIZE))
move_part 11 $START $((START+UDA_NEW_SIZE-1))
for i in $(seq 10 -1 2); do
  dd if=/dev/mmcblk0p$i of=part$i.img
  read size </sys/block/mmcblk0/mmcblk0p$i/size
  START=$((START-size))
  move_part $i $START $((START+size-1))
  dd of=/dev/mmcblk0p$i if=part$i.img
  rm -f part$i.img
done
move_part 1 $GPT_SIZE 0
sgdisk --move-second-header /dev/mmcblk0
resize2fs /dev/mmcblk0p1

(source SD card partition after flask by Jetpack - #9 by xlz ; @xlz )

Hi Andry, hopefully you can check this. I had the exactly same issue here, after I executed the shell before, the last resize2fs failed with the message shows “resize2fs: Permission denied to resize filesystem”. anything more I can check ? thanks a lot.
Willian

it[sizing] is typically managed at the moment of installation
However, the script above should also do
probably you tried running the resizefs under root from the device that runs the OS from that sdcard.
It would be more like less complicated if you used a third party device to resize.
Moreover, you may try

sudo apt install gparted -y
sudo gparted

If you are using JetPack version 4.5+ the simple gparted will do highly likely

Thanks Andrey, with this magic tools (gparted), I finally confirmed the eMMC size itself is 16GB, so no space to expand, issue solved and thanks again.
Willian