Customize file system and flash in another PC

Hello team,
we are using jetson orin nano production SOM with custom carrier board with NVME,
using latest jetson release 36.3,

we have two questions toask.

  1. we wanted to know how to customize the filesystem adding some more command support in image by default,
    eample: minicom, jetson-utils, libcurl4-openssl-dev libssl-dev uuid-dev ca-certificates etc

  2. if the custom for orin-nano with 36.3 release build is in PC1 and we wanted the same to reuse in PC2 to build and flash the devices having NVME, so how achieve that?
    the .tar of the entire build in PC1 can be used in PC2? or any other known ways to use that.

thanks in advance.

We have a script for building the rootfs. Just customize the package list as desired.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/RootFileSystem.html

It should do it with tar.

which is the --flavor desktop or minimal or basic used in default sample rootfs found in jetson archive? here Jetson Linux 36.3 | NVIDIA Developer

The desktop flavor.

Hello @DaveYYY ,
after creating the custom rootfs, again do we have to run apply binaries script?

these below steps are good to follow?
$ sudo tar xpf -C Linux_for_Tegra/rootfs
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh

YES. Of course.
Or your rootfs won’t contain drivers from NVIDIA.

1 Like

one more question related to customizing the file system,
1.how to install jetson-utils as part custom filesystem which is depends on jetpack(which will around take around 12GB)
2. in specifically in jet-pack we are looking at only cuda related support for camera streaming.

You cannot install nvidia-jetpack on a customized rootfs with our script, because it’s Debian script checks for some system files for eligibility, which are only available on a real Jetson system.
I haven’t checked CUDA in specific, but I think it’s the same as the entire nvidia-jetpack package.

So incase we want to install in all of our production devices, do we have to install manually nvidia-jetpack in all the nvidia-devices, what is the procedure? do we have to do apt-install? any suggestions for our case please.

YES. Of course.
You do

sudo apt update
sudo apt install nvidia-jetpack

Or you set up one device, clone it’s image, and flash the image to other devces.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/FlashingSupport.html#backing-up-and-restoring-a-jetson-device

1 Like

thank you for your suggestion, is it possible to get .deb package for nvidia-jetpack, so that we can save our time during prodiction for installing in each device, it will take hours of time sicne its huge package around 12GB approx.

please share us the link where we can download the .deb for the same.

FYI, JetPack will install a number of packages and configurations. I will suggest something that might save you a lot of time. I don’t think this has changed on Orin, but someone might comment if it has.

The default root filesystem is created before flash as “bootloader/system.img”. This does not include extra packages which were optional. Those extras are added on a fully booted system over ssh to the admin account you’ve just created.

If you have a newly flashed Jetson, and you update the packages (“sudo apt-get update” and “sudo apt-get upgrade”), and then add your own content, then any clone will also contain those updates and that content (be careful, this includes accounts and passwords).

One can flash manually and “reuse” the existing system.img (a file in the host PC’s “Linux_for_Tegra/bootloader/”). This will create a flash with 100% verbatim root filesystem every time you flash so long as you don’t overwrite this with a normal flash.

I will suggest you set up each image you want on a reference unit. Clone that. Guard the clones (and they are huge, they take a lot of time to create or copy).

Then, before flash, make sure you have that clone placed as “Linux_for_Tegra/bootloader/system.img”. Usually this means flashing with the “-r” option on command line to “reuse” the image.

NO.
nvidia-jetpack is just a meta package that depends on a whole bunch of other packages.
(To be specific, it’s further splitted into nvidia-jetpack-dev and nvidia-jetpack-runtime)
Anyway, Debian packages will be saved in /var/cache/apt/archives/ when you install them.

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