Jetson Orin Nano Developer board and installed a 256G SSD on it. I already used JetPack 6.0 on a X86 host machine to flash these boards. All boards booted up with Ubuntu 22.04.
I installed ‘EdkRepo v3.2.2’ on the host PC.
I am trying to understand how to update UEFI image only. I am reading the ‘Bootloader’ section on Developer Guide. Here are my understandings:
All UEFI related source code are under ‘edkrepo/nvidia-uefi’.
I used ‘Build-without-docker’ to build the UEFI images and saw ‘uefi_Jetson_DEBUG.bin’ and ‘uefi_Jetson_RELEASE.bin’ under ‘images’ subdirectory.
I need to copy one of the above uefi_Jetson_*.bin’ file to overwrite the ‘nvidia_sdk/…/Linux_for_Tegra/bootloader/uefi_jetson.bin’.
If I want to update the UEFI from host PC, I need to put the target board (Orin Nano) in Recovery mode. Then, run
$sudo ./flash.sh jetson-orin-nano-devkit nvme0n1
from ‘Linux_for_Tegra’ subdirecotry on Host PC. Then, it will update the bootloader on ‘not-current’ slot and boot from it the next reboot.
It would be fine since you should enter into force recovery mode for your Jetson device before running that command from host. It will still boot from the same slot before update.
It depends on your use case. If you always work on the current slot, then you don’t need to update for un-used slot. If you have the chance to switch slot and you want to have the same state as the original slot, then you should update both of them.
Hi,
Thanks for the reply. Last question (just curious), if
I do not specify the slot number, like the following command
$ sudo ./flash.sh -c bootloader/generic/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit nvme0n1p1
Which slot will be flashed?
I don’t specify configuration file either, like the following:
$ sudo ./flash.sh jetson-orin-nano-devkit nvme0n1p1