Installing jetpack on jetson xavier nx via SDK Manager always fails

Hello,
I’m trying to install jetpack on a Jetson Xavier NX with a 128GB sd card and a 500GB NVME using the SDK Manager. The installation fails every tiime with an error message about missing apt modules (please see attached screenshot). On the screen connected to the xavier nx I get a message about the system disk running out of space. For reference I have attached the log files. Any help would be very much appreciated.
Regards,
Peter
SDKM_logs_JetPack_5.1.2_Linux_for_Jetson_Xavier_NX_modules_2024-02-04_16-58-06.zip (873.2 KB)

Do this and try again:

I believe you only got 16GB for rootfs, which is not enough for the whole JetPack SDK.

Hello DaveYYY,
Thank you for the fast reply and the suggestions to fix the problem. On my host I only could find the directories “/nvidia/nvidia_sdk/”. The “Linux_for_Tegra” does not exist. Is there anything I’m doing wrong? My other questions would be where to find the file “flash_l4t_external.xml”? Sorry, for my simple questions, but I’m quiet new to all of this. Thanks in advance for all your help.

Then delete everything and try again with the method mentioned above.

As suggested I deleted everything, flashed again the micro sd card and ran sdk manager. I found “nvsdkmanager_flash.sh” in ~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra$ and changed it according the workaround, but still run out of space almost to the end of the flashing process. Verifying the partitions on both, the sd card and the nvme, The APP partition on the sd card is the last one in the row, so there is plenty of space. On the nvme it is the first partition with 14GB in size and so the installation runs out of space. Is there a way to increase this partition size in one of the scripts of the installation?

Are you able to successfully do this on the host PC?

sudo apt update
sudo apt-get upgrade

What is your host PC output from the command “df -H -T ~/nvidia”?

update/upgrade - all packages are up to date

output of df H -T ~/nvidia is:

Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 158G 66G 84G 44% /

That should be enough space if not putting “~/Downloads/nvidia/” or “~/nvidia/nvidia_sdk/” on separate media. It would consume a lot though. If you cd to “~/Downloads/nvidia/” and to “~/nvidia/nvidia_sdk/”, and run “sudo du -h -s .” on each location (the “.” is the current directory), with those devices mounted at those mount points, what shows up? The “sudo du -h -s <location>” tells you how much space is actually consumed, whereas “df -H -T” tells you available space of the specific device at that point (device specs versus what is at that location).

One thing to consider is that if you flash normally it produces a raw image, system.img.raw, and a sparse image, system.img, within “Linux_for_Tegra/bootloader/”. These are by far the largest content. You can delete those two files after flash if you are not going to reuse them, and they will generate again. If you delete those two files, and recursively copy all of the remaining content onto an SSD or other external drive, and then mount that drive partition on “Linux_for_Tegra/bootloader/”, you will find that your external device is handling the largest majority of file space requirements. Your SSD or other device would also be dedicated to that temporary content and the system disk would continue to be what holds other content.

You can use something like rsync to copy “Linux_for_Tegra/bootloader/” to your disk, but since you are copying all content within the directory it is easy to use sudo to preserve permissions and copy “bootloader/” without using more advanced commands. Let me know if you want to know how to clone just that directory so that you can mount it on “Linux_for_Tegra/bootloader/” and keep the rest on your host.

Hello linuxdev,
Thanks a lot for the detailed information, really helpful for a newbie like me. As I understand there is really enough space on the host to hold the images and all additional components. The flashing fails at the end of the process. The APP partition to hold the roots on the target is only 14G in size and I ran out of space when the different components are being installed. I tried the workaround described by DaveYYY above several times, but the APP partition is always 14G in size. Trying to resize the partition with gparted doesn’t work either. Hope you have some ideas how to resolve this problem. Thanks a lot for everything.
Peter

Are you running out of space on your host PC, or is it space on the Jetson?

In the beginning I had not enough space on the host, but then I ran out of space on the jetson. Today I finally found my mistake. The workaround for t194 devices works correctly, but I assumed only a single location in the file “nvsdkmanager_flash.sh” where to change from "flash_l4t_t194_nvme.xml” to "flash_l4t_external.xml” while there is a total of three locations. After making all changes an reflash the APP partition is now the last in the row, taking all remaining space on the nvme and there is enough space for the rootfs.
Thanks again for all the help, I really appreciate it.

1 Like

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