How to clone the current setup (rootfs, img)

Hello,

I have a jetson orin nano devkit currently setup with customized kernel (r36.4.3) and additional required applications. I want to create its setup’s clone so that I can flash other kits with the same setup. What’s the procedure for that?

Thank you.

Hi @tornado1100

Use the following command on your host computer to backup your customizations:

sudo ./tools/backup_restore/l4t_backup_restore.sh -b -e nvme0n1 jetson-orin-nano-devkit

Then run the following command to flash your device:

sudo ./Linux_for_Tegra/tools/backup_restore/l4t_backup_restore.sh -e nvme0n1 -r jetson-orin-nano-devkit

You could also check NVIDIA’s documentation to get more information: Flashing Support — NVIDIA Jetson Linux Developer Guide 1 documentation

Please tell me if the attached commands solved your needs.

Regards,

Ricardo González Víquez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

Hi,

Thank you for responding to my query. Do I need to boot the jetson in RCM for the backup restore, as I do for flashing it?

Hi @tornado1100

Yes, you should have your device in recovery mode. After performing this, you will find the backup image at Linux_for_Tegra/tools/backup_restore/images directory.

Regards,

Ricardo González Víquez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

Thank you very much, the solution works (although on same model platforms).

I have jetson orin nano kits of different models:

Bus 001 Device 124: ID 0955:7523 NVIDIA Corp. APX

Bus 001 Device 123: ID 0955:7035 NVIDIA Corp. Linux for Tegra

Even though they are both Orin nano, when I tried to restore the backup image, it failed and gave nvrestore_partitions.sh: You are trying to flash images from a board model that does not match the current board you're flashing onto.

However, when I removed the nvme from the backup device and installed it in the restore device (of different model), it was able to boot without any error. So why does the command not work?

Also, should I now go with dd instead of backup_restore?

Hi @tornado1100

According to this answer: Difference between device 0955:7035 and 0955:7e19? - #2 by lhoang 7035 is USB ID for when a Jetson Device exposes itself for initrd flash method. Which makes sense with your usage. My question would be, is this device another Jetson Orin Nano (7523)?

Could you point me out to any of the dd documentation or give me any context regarding this tool?

This code exists in this script to make sure the restore image go to the device with the correct model.

tools/backup_restore/nvrestore_partitions.sh
if [ ${BOARD_MATCH} = false ]; then
echo “${SCRIPT_NAME}: You are trying to flash images from a board model that does not”
echo “match the current board you’re flashing onto.”
exit 1
fi

You could comment it out to ignore the error. However note that, the DTB could be wrong when you put it into Orin Nano devkit of a different model.

Also note that, you should not have another Jetson in initrd mode (0955:7035) plugged in when running

sudo ./Linux_for_Tegra/tools/backup_restore/l4t_backup_restore.sh -e nvme0n1 -r jetson-orin-nano-devkit

Thank you for clarifying. In any case, I also tried DD and it works as well.