However, it still appears to create the default tegra234-p3768-0000+p3767-0005-nv.dtb for /boot/dtb (output below) - but I didn’t think that was used unless we were trying to use an overlay. I have questions about this point as well, but I’ll wait until I get to a login prompt before asking.
It gets hung on ‘Step 3: Start the flashing process’ since the Orin state is ‘EFI stub: ERROR: Invalid header detected on UEFI supplied FDT, ignoring …’
The previous attempt booted to kernel crash, the rebooted itself after sometime and hung, then rebooted again into a recovery (?) shell. I can not find my notes where I captured that output, but I could not interact with the Orin via console once it boots up, which inspired the full rebuild.
Q3 - when it failed to the recovery bash prompt - I was unable to interact with the console, however when the Orin first boots up I am able to access the BIOS menu and choose which option I want to use from extlinux.conf file - so I know the keyboard works. But once the OS starts up, the Orin console does not respond to keypresses. Is that expected behaviour ?
I just noticed there wasn’t the line L4TLauncher: Attempting Direct Boot
after ‘Enter to continue boot.’ in the log - which led me to this page :
Which has allowed me to boot to /boot/Image.backup and access the system. So the system is not reflashed (since the flash command couldn’t install on to the disk in the ‘Unbootable’ state…).
I am going to fix the header and capture the console output after applying the .dtbo to see if the issue persists.
root@sthd-6:/boot# /opt/nvidia/jetson-io/config-by-hardware.py -n 2=“ET tc358743 Dual”
<Jetson.board.Board object at 0xffff957ab910>
Traceback (most recent call last):
File "/opt/nvidia/jetson-io/config-by-hardware.py", line 127, in <module>
main()
File "/opt/nvidia/jetson-io/config-by-hardware.py", line 104, in main
hw_mods = parse_hw_args(args.name, len(headers))
File "/opt/nvidia/jetson-io/config-by-hardware.py", line 80, in parse_hw_args
raise NameError("More than one HW module on Header %d!" \
NameError: More than one HW module on Header 1!
I suspect this is happening because the IMX_219 driver is already loaded by default from tegra234-p3768-0000+p3767-0000-dynamic.dts
I’ve commented out the imx219 line (per post above) and recompiled everything but am unable to re-flash my Orin - even after “fixing” the direct boot issue. When I put the Orin in recovery mode and attempt to reflash, it once again hangs without attempting the Direct Boot. When I go in to the BIOS, it lists the drive a ‘Bootable’.
Is there some other flag or procedure I need to run to be able to re-flash the Orin ?
You can build UEFI according to instructions mentioned here:
(Building with docker is the recommended way.)
You will end up getting two binaries, one is the release version, and the other one is the debug version.
Replace Linux_for_Tegra/bootloader/uefi_jetson.bin with this new file and flash your device again.
And I’ll go ahead and get a head start on what I believe the next support suggestion will be, which is to try and re-flash from the most recent SDKManager - which I tried and it failed as well.
Failure root cause: Failed Component ID: NV_L4T_FLASH_JETSON_LINUX_COMP@JETSON_ORIN_NANO_TARGETS#36.3.0. Error Code: 1011. Error: Failed to execute commands with GenericInstaller.
I’m really surprised it’s this easy (?) to get the Orin in an unflashable state. Is there a physical or hardware reset to get back to its original state?
Changed the L4T Boot Mode to ‘Kernel Partition’ and it did not make a difference, I was unable to re-flash the Orin. It stopped at :
ESC to enter Setup.
F11 to enter Boot Manager Menu.
Enter to continue boot.
Failed to find memory test protocol
......!!! enter DisableFRB2Handler()!!!
DetectSmbiosChange: Failed to get UEFI Variable SmbiosHash Not Found
UpdatePcieControllersWithGpuDevice: failed to enumerate GPU device handles: Not Found
EsrtFmpDxe: Can't install ESRT table because it is NULL.
[Bds]Booting UEFI NVIDIA Rcm Kernel Boot
Loading driver at 0x00229B60000 EntryPoint=0x0022B84B1B4
Loading driver at 0x00229B60000 EntryPoint=0x0022B84B1B4
EFI stub: Booting Linux Kernel...
EFI stub: ERROR: Invalid header detected on UEFI supplied FDT, ignoring ...
EFI stub: Generating empty DTB
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
EFI stub: Exiting boot services...
Link didn't transition to L2 state
Link didn't go to detect state as well
PROGRESS CODE: V03101019 I0 D6A2CB7F-6A18-4E2F-B43B-9920A733700A
It appears that the L4TLauncher is not being run and I do not understand why. It still boots up normally when the recovery mode jumper is not connected.
FDT in extlinux.conf is not relevant at this point, because L4TLauncher is not starting. I expect to see :
ESC to enter Setup.
F11 to enter Boot Manager Menu.
Enter to continue boot.
......
L4TLauncher: Attempting Kernel Boot
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
EFI stub: Exiting boot services...
in the console, but I don’t when I attempt to flash the Orin (first output above)
I thought L4TLauncher read the /boot/extlinux/extlinux.conf file from the boot drive - is that incorrect? Mine is
root@sthd-6:~# cat /boot/extlinux/extlinux.conf
TIMEOUT 30
DEFAULT primary
MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} root=PARTUUID=6c05e10b-6c14-4a77-84ec-337c0cdaa5dd rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 nospectre_bhb video=efifb:off console=tty0
No FDT lines.
That gave the same result as before. Can you explain what is happening from the line Failed to find memory test protocol
to Link didn't go to detect state as well
from the output above ?
Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Timeout
Device failed to boot to the initrd flash kernel. Please retrive the serial log during flashing to debug further.
Cleaning up...
because the Orin is having an issue with the EFI stub - I do not think it is a USB timeout issue. We’ve already gone through that and this is not the same situation. When I first kick off the flash, I see the Orin module in lsusb as
Bus 001 Device 009: ID 0955:7523 NVIDIA Corp. APX
the flash program goes through several more steps and reboots the Orin a few times ( the ‘Device’ number increases a few times) and then – when it worked in 5.1.2.-- it would come back as
Bus 004 Deivce 010: ID 0955:7035 NVIDIA Corp. Linux for Tegra
and all the files would be copied over, but that second part on bus 004 isn’t happening, so it times out.
Even attempting to flash the Orin from the SDKManager - without any changes - is failing in the same place.
So, I have stepped back to just tying to flash the Orin from the most SDKManager - without any changes and it is failing as mentioned above, log files posted from that attempt as well.
I have said that the SDKM log here is about the USB timeout error, not UEFI.
You are not supposed to get the UEFI FDT error if you are sure it’s the default BSP without any customization.