Hello @KevinFFF
I tried it with R36.4, and the results were the same as with R36.3; the behavior differed between flash.sh and nv_bootloader_capsule_updater.sh.
Additionally, I conducted an experiment to verify if the UEFI firmware binary was updated as intended. I added a log statement, Print (L"L4T new image.\r\n");, to the ProcessExtLinuxConfig function in edk2-nvidia/Silicon/NVIDIA/Application/L4TLauncher/L4TLauncher.c and performed the same tests.
L4TLauncher.zip (14.2 KB)
As a result, “L4T new image.” was displayed when using flash.sh, but it did not appear when using nv_bootloader_capsule_updater.sh. This means the update was not successful.
This is a significant issue because it implies that even if there is a bug in the UEFI, it cannot be updated.
For example, it would not be possible to upgrade the bootloader from Jetpack 6 to Jetpack 6.4 (which is expected to be released in the future).
Log when updating the UEFI with flash.sh
PrintBootOrder: Current BootOrder:
PrintBootOrder: BootOrder[0] = 0x0001 = UEFI TS128GMTE672A I391380787 1
PrintBootOrder: BootOrder[1] = 0x0000 = Enter Setup
PrintBootOrder: BootOrder[2] = 0x0002 = BootManagerMenuApp
PrintBootOrder: BootOrder[3] = 0x0003 = UEFI Shell
Jetson System firmware version r36.4.0-5de7ef09-dirty date 2024-10-25T14:09:33+0
0:00
ESC to enter Setup.
F11 to enter Boot Manager Menu.
Enter to continue boot.
Failed to find memory test protocol
!!! enter DisableFRB2Handler()!!!
GetParentPcieControllerPrivate: cannot retrieve device path protocol from device handle: Unsupported
[Bds]Booting UEFI TS128GMTE672A I391380787 1
add-symbol-file /work/nvidia-uefi/Build/Jetson/DEBUG_GCC5/AARCH64/Silicon/NVIDIA/Application/L4TLauncher/L4TLauncher/DEBUG/L4TLauncher.dll 0x2601E4000
Loading driver at 0x002601E3000 EntryPoint=0x002601EB72C L4TLauncher.efi
L4TLauncher: Attempting Direct Boot
L4T new image.
Loading driver at 0x0025D530000 EntryPoint=0x0025F352A18
Loading driver at 0x0025D530000 EntryPoint=0x0025F352A18
root=PARTUUID=c5b0175c-8055-4075-a521-b7adf5242f8d rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 nospectre_bhb video=efifb:off console=tty0 bl_prof_dataptr=2031616@0x271E10000 bl_prof_ro_ptr=65536@0x271E00000 ExtLinuxBoot: Cmdline:
r36.4_flash_log.txt (51.8 KB)
Log when updating the UEFI with nv_bootloader_capsule_updater.sh
PrintBootOrder: Current BootOrder:
PrintBootOrder: BootOrder[0] = 0x0001 = UEFI TS128GMTE672A I391380787 1
PrintBootOrder: BootOrder[1] = 0x0000 = Enter Setup
PrintBootOrder: BootOrder[2] = 0x0006 = BootManagerMenuApp
PrintBootOrder: BootOrder[3] = 0x0007 = UEFI Shell
Jetson System firmware version r36.4.0-5de7ef09-dirty date 2024-10-25T14:09:33+0
0:00
ESC to enter Setup.
F11 to enter Boot Manager Menu.
Enter to continue boot.
Failed to find memory test protocol
!!! enter DisableFRB2Handler()!!!
GetParentPcieControllerPrivate: cannot retrieve device path protocol from device handle: Unsupported
[Bds]Booting UEFI TS128GMTE672A I391380787 1
add-symbol-file /work/nvidia-uefi/Build/Jetson/DEBUG_GCC5/AARCH64/Silicon/NVIDIA/Application/L4TLauncher/L4TLauncher/DEBUG/L4TLauncher.dll 0x2601E4000
Loading driver at 0x002601E3000 EntryPoint=0x002601EB72C L4TLauncher.efi
L4TLauncher: Attempting Direct Boot
Loading driver at 0x0025D530000 EntryPoint=0x0025F352A18
Loading driver at 0x0025D530000 EntryPoint=0x0025F352A18
root=PARTUUID=33284479-79a2-4f56-9a32-5b678291a334 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 nospectre_bhb video=efifb:off console=tty0 bl_prof_dataptr=2031616@0x271E10000 bl_prof_ro_ptr=65536@0x271E00000 ExtLinuxBoot: Cmdline:
r36.4_swup_log.txt (51.1 KB)