Why SDK Manager flashed image has no option on file system size?

When I downloaded Jetson nano MicroSD card image and flashed it into a 32GB SD card by using balenaEtcher-Setup-1.5.103. During bootup, it asked me to chose the file system size. For this point, I can use the maximum storage space.
But, when using SDK Manager to build the target image and flashed it into the Jetson nano which has 32GB MicroSD storage, the target storage has only 16GB after boots up. It has no any option for me to use the maximum storage space. I checked the disk space by using GParted, it has only 16GB allocated to the file system. The rest 16 GB is unallocated. I can’t resize the file system as lots of small allocated blocks (mmclk0p2 to mmcblk0p14) between /dev/mmcblk0p1(ext4) and the unallocated block.
I also can’t create a new partition for the unallocated space as it says “It is not possible to create more 14 primary partitions”. How can I sort it out?
Thanks

This is a known issue.

We will update this later. Thanks for your patience.

Hi,

For flashing case, please directly use the flash.sh script and use “-S” to configure the partition size.

For example,

$ sudo ./flash.sh -S 29GiB board_name mmcblk0p1

Hi

Thank you for your kind reply.

The issue of flash image feature is in SDK Manager. How can I use sudo command to flash the target?

Thanks

Changwen

Hi,

This flash.sh script is the actual tool that is doing the flash work.
Sdkmanager is using this tool to do the flash too. It will be downloaded under Linux_for_Tegra folder on your host.

Please refer to the document -> Quick start guide from our download center for the information.

Thanks.
I am using windows Etcher to flash the image to target. During boots up, it gives me a storage size option. If using SDK Manager to flash the target, during the boots up, it has all the other options such as language etc. but storage size option is missing, which resulted storage size is under 16GB. Now, I am using SDK Manager to install the components only.

Yes… and what I am talking about is the workaround for you to configure the file system size to match your sdcard even in sdkmanager case…

FYI, the first time you flash with SDK Manager you will have content at:
~/nvidia/nvidia_sdk/JetPack_...version.../Linux_for_Tegra/

SDKM only downloads and starts that content flashing. The actual “Linux_for_Tegra/” content, once in place, can be reused over and over with the flash.sh command in that directory. If you flashed once with SDKM, then this is all in place for you and the commands with size will work. I don’t think SDKM has any ability to pass the “-S size” through to flash.sh, but there is no reason to not flash with the command line.

FYI, optional package installs only occur after the Jetson is fully booted. The flash step ends with the Jetson self-rebooting, and this is when the first boot setup can occur, and then the optional packages can be installed. You could flash on command line, let it reboot, complete first boot setup, and then run SDKM (but uncheck flash and only check package install).

Btw, “MiB” is “1024 * 1024” bytes. “GiB” is “1024 * 1024 * 1024” bytes. You would always use an integral number of MiB or GiB. “29GiB” is exactly “29*1024*1024*1024 == 31138512896” bytes.

Hi
As I am new to Jetson Nano, I have following questions on flash:

  1. The MicroSD card image generated by SDK Manager is the same as I downloaded from the link in the page of https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write or not?
  2. What is the board_name in your command? my board is the Jetson nano development kit, what name is for this board?
  3. When flash to MicroSD card, the “mmcblk0p1” is used, what is used for flashing the eMMC on module? In other word, can I use the flash command to flash the 16 GB eMMC storage?
    Thanks

The MicroSD card image generated by SDK Manager is the same as I downloaded from the link in the page of https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write or not?

No, they are not 100% same.

What is the board_name in your command? my board is the Jetson nano development kit, what name is for this board?

That is why I asked you to read the quick start guide.

When flash to MicroSD card, the “mmcblk0p1” is used, what is used for flashing the eMMC on module? In other word, can I use the flash command to flash the 16 GB eMMC storag

Jetson nano only has 2 options: sdcard based and emmc based. Flash mmcblk0p1 on each kind of module will flash the default device. The sdcard based module uses sdcard as default device. Same rule applies to emmc module.

Hi
Thank you for clarifying them.
I have successfully flashed Jetson nano with the command: sudo ./flash.sh -S 59GiB jetson-nano-qspi-sd mmcblk0p1. Please refer to Failed to flash Jetson nano using flash.sh script for details. The issue is that I can’t install the components to target with the SD card flashed by the command: sudo ./flash.sh -S 59GiB jetson-nano-qspi-sd mmcblk0p1 as the SDKManager can’t identify the target is connected.

Therefore, my issue (install components into target with storage size greater than 16GB) has NOT been sorted out yet by working around summarised in below:
Method 1: Flash the downloaded image nv-jetson-nano-sd-card-image-r32.3.1.zip by using Etcher and install the components by using SDKMamager without flashing image again. Install components failed.
Method 2: Flash the downloaded image nv-jetson-nano-sd-card-image-r32.3.1.zip by using Etcher and flash the SD card from SDK manger and install the components. Install all the components successfully, but can’t the storage size is limited to 16GB.
Method 3: Using command: command: sudo ./flash.sh -S 59GiB jetson-nano-qspi-sd mmcblk0p1 as the SDKManager can’t identify the target is connected.

Hi
Based on Jetson Nano FAQ
Where can I find the script create-jetson-nano-sd-card-image.sh? It is NOT available in the folder of /nvidia/nvidia_sdk/JetPack_4.3_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra
Thanks

Hi,

The sdk components are not “flashed” into the board from the beginning. It is using ethernet or virtual usb network to do the data transfer.

Hi,
Yes, I noticed it already. We must use SDKM to install the components.
The issue is how can I use SDK Manager to install all the components and make sure the storage size met the SD card size instead of 16GB.
I have tried three different methods and summarized in my previous post.
Based on the info below:

Please follow below steps to re-size SD card image:

sudo ./create-jetson-nano-sd-card-image.sh -o sd-blob.img -s 16G -r 100
Using Etcher tool and select “sd-blob.img” image -> select SDcard -> Flash
After completed flash, plug-in SD Card to boot up Jetson-Nano
Using SDK manager to install JetPack components

I think it may be the fourth method to try, but I can’t find where is the shell script file: “create-jetson-nano-sd-card-image.sh”

Any suggestion?
Thanks

Hi,

Skdmanager can choose not to flash the board.

So you can use flash.sh and then use sdkmanager for the components only.

Yes. You are right.
But the components can’t be installed from SDK Manager after flashed with the script flash.sh.
Please refer to

Hi,

I just provided some comments there. Please check that topic.

Let me explain it again in this post to avoid other people get confused.

“SDK components” could be installed by internet interface. It could be either wireless/wired or even something like usb-internet virtual interface.

On jetson platform, when flash port is connected with usb cable, it will generate a internet interface in ifconfig with IP 192.168.55.X. That is how default sdkmanager uses.

If this cannot work, you could also connect host pc to device through ethernet cable to RJ45 port and assign IP to each other. Just make sure they can ping each other.

If you insist using the virtual usb interface to transfer data, please file a new topic.
This interface has nothing to do with the flash so may not match your topic.

The issue has been sorted out by:

  1. flash SD card by using the script flash.sh with the SD storage parameter.
  2. Install the components from SDK Manager needs to make sure the communication between the SDK Manager and the Jetson Nano target device is reliable. A clean up procedure on Target device Jetson Nano should be carried out before re-install the component if any installation failure.

Had the same issue and when unchecking the box (JETSON OS] in the SDKM it went through the installation without flashing my xavier nx. But the installation was finished in about 5-10 seconds, which seems rather low. I wanted to install CUDA, CUDA-X AI, Computer Vision, Container Runtime and Multimedia (summing up to about 2.5 GB). So it did indeed install none of that.

$ nvcc --version verifies, that no cuda installation finished.

The log speaks about some problems, but in the end everything has been “succesful” - which it obviously has not been.