I am reaching out to you regarding an issue I am facing with cloning my Jetson devices. I have multiple Jetsons, and I have encountered difficulty in cloning one Jetson to multiple devices.
The problem lies in the inability to set the boot order in the BIOS for my devices. Consequently, I cannot control which devices boot up first. After restoring the system through backup and restore, the boot order in the BIOS resets, and I cannot manually manage it due to the lack of access to the BIOS.
This issue becomes particularly problematic when an Ethernet cable is connected. In such cases, the system waits for network boot, causing additional delays in the boot time. I have been searching for a solution to clone the system while preserving the BIOS settings and avoiding delays in boot time when an Ethernet cable is connected.
I am seeking your assistance in resolving these problems. Please provide me with methods to clone my Jetsons without losing the boot order in the BIOS and without waiting for network boot.
I flash the system using sdk manage, choosing nvme.
I install my packages, load my scripts, make my settings.
I make a backup copy of jetson using the command “sudo ./tools/backup_restore/l4t_backup_restore.sh -b jetson-orin-nano-devkit-nvme”
I restore to other jetsons using “sudo ./tools/backup_restore/l4t_backup_restore.sh -r jetson-orin-nano-devkit-nvme”
I can’t even go into the bios settings, because it doesn’t appear to me and doesn’t respond to pressing any buttons. But I wouldn’t want to go into bios, since this requires connecting the screen. I’d like to simplify jetnos cloning into just a few commands.
And after detecting the system, I noticed that when I connected the Internet cable, the system took 4 minutes 58 seconds to boot each time. I suspect it’s for the same reason mentioned in this thread.
You would need a full serial console boot log for the failure case. Note that in the UEFI boot there is a certain order for trying boot devices, and that if there is a failure to find an actual eMMC or local storage option for the rootfs, then it will move on to the next device in the list. HTTP and PXE boot search take a long time to time out. The real questions are:
Was the eMMC search first on the list (it should be unless you modified something in boot order).
If not eMMC, then is there some other local device, e.g., an NVMe, which is set for boot?
If none of the above, then trying HTTP and PXE is not an error. If HTTP and PXE are set in order to precede eMMC and other local storage, then that is the error.
If local storage is simply not detected, and boot order has not been swapped, then the reason for the failure of local storage is in question. You’d need a full serial console boot log to get even a hint for the reason.
I understand these points perfectly; most likely, when restoring from a backup, the startup order settings are not written into the UEFI. The question is simply how to clone the jetson system along with the UEFI settings. Since I do not have the ability to set the boot order on each Jetson manually.
I have already done everything according to this instruction
I already had UEFI configured with correct boot order, but backup and restore did not move configured UEFI into the new Jetson
New Jetson is trying boot using HTTP and PXE.
Is it possible using some utility program that does backup and restore, restore my configured UEFI on the new Jetson
Did you do this and reflash the source device, which you generate the backup image from? Can you try to create a backup image right after flashing without booting the source device?
We don’t have a tool to copy over the UEFI boot order once it sets up boot order using L4TConfiguration.dtbo because the boot order relies on the storage device hardware ID which is different on every device. However, maybe if we create a backup image before that, it might still works