We flashed the nvme SSD successfully. And the SSD could boot normally for days. But suddenly one day, when power on, the SSD boot fail. Then we inserted a bootable UDisk to check. When booted up from UDisk, we could normally access the SSD and files under /boot/ on the SSD. But when boot from SSD selected in UEFI, it could not get boot files from the SSD. Below list some excerpt comparing boot fail & boot ok.
When the SSD boot fail, the serial port shows:(attached the whole serial log, then stuck at the tail)
-------------
L4TLauncher: Attempting Direct Boot
OpenAndReadUntrustedFileToBuffer: Failed to open \boot\initrd: Not Found
ExtLinuxBoot:sds Failed to Authenticate \boot\initrd (Not Found)
L4TLauncher: Unable to boot via extlinux: Not Found
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…
-------------
When the SSD could boot normally, it shows:
-------------
L4TLauncher: Attempting Direct 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…
-------------
Thanks for any advice!
According to UEFI info in attached log, above metioned UDisk is : TU280Pro 256G thinkplus 071C4CEF938CA886, SSD is : SOLIDIGM SBFPF2BU038T BTA43153004Z3P8BGN 1
*** Please note that this reply is generated by LLM automatically ***
The issue described is a boot failure on a Jetson Orin NX device when attempting to boot from an NVMe SSD, which had previously been booting successfully for days. The failure occurs when the device is powered on, and the SSD is selected as the boot device in the UEFI settings. However, when a bootable UDisk (TU280Pro 256G) is inserted and used to boot the device, the SSD can be accessed normally, and files under the boot directory on the SSD can be read.
Comparing the serial logs provided for both the boot failure and successful boot scenarios reveals key differences:
Boot Failure Log:
The log shows an attempt at direct boot, followed by an error message indicating a failure to open bootinitrd due to it not being found.
It also mentions a failure to authenticate bootinitrd, again due to it not being found.
The log then shows an attempt to boot via extlinux, which also fails due to bootinitrd not being found.
Finally, it attempts a kernel boot using the EFI stub, loading the initrd from a specific device path, but the boot process seems to stall or fail at this point.
Successful Boot Log:
The successful boot log shows a similar initial attempt at direct boot but then proceeds smoothly with the EFI stub booting the Linux kernel.
It uses the DTB from the configuration table and loads the initrd from a specified device path, successfully exiting boot services.
Key Differences and Potential Causes:
The primary difference lies in the failure to find and authenticate bootinitrd during the boot failure scenario. This suggests an issue with the boot configuration or the accessibility of the bootinitrd file on the SSD.
Another potential cause could be a corruption or misconfiguration of the UEFI settings or the boot loader configuration on the SSD, preventing the device from correctly locating and loading the necessary boot files.
The fact that the SSD can be accessed when booting from the UDisk suggests that the issue is not with the SSD’s hardware or its connection to the Jetson Orin NX but rather with the boot process itself.
Advice and Potential Solutions:
Recheck UEFI Settings: Ensure that the UEFI settings are correctly configured to boot from the SSD. Sometimes, settings can get altered, or the UEFI might not be properly recognizing the SSD as a boot device.
Verify Boot Files: Check the SSD for the presence and integrity of the bootinitrd file and other necessary boot files. Ensure they are in the correct location and not corrupted.
Update Boot Loader: Consider updating the boot loader or reconfiguring it to ensure it is properly set up to boot from the SSD.
Secure Boot and Authentication: If secure boot is enabled, verify that the boot files on the SSD are properly signed and authenticated. Failure in authentication could prevent the boot process.
Reflash the SSD: If all else fails, and the SSD was previously working, consider reflashing the SSD with the operating system and necessary boot files. Ensure to back up any important data before doing so.
By systematically checking these potential causes and applying the suggested solutions, it should be possible to resolve the boot failure issue and successfully boot the Jetson Orin NX from the SSD.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
We found the cause but didn’t know why.
The cause is the EFI partition have something wrong. The partition had no fs flag and no boot file EFI/BOOT/BOOTAA64.efi.
For example, by “lsblk -f”, a “good boot” disk INTEL SSD’s partition info:
├─nvme0n1p10
│ vfat FAT32 8C63-3869 62.9M 0% /boot/efi
but DaPu SSD’s info:
├─nvmen1p10
│
After we manually setup the dir and copied the file in the efi partition of DaPu SSD, it could normally bootup the system.
The flashing on DaPu SSD was successful. Why the EFI partition abnormal?
Tks!
Could you please check if this error always occurs when using the DaPu SSD?
Could you reproduce the error using DaPu SSD?
It may be caused by an application you’ve used to modify the partition.
We got a new firmware version from DaPu and it resolved the issue. The original firmware use nvme protocol version 1.4. The new version downgraded the protocol to version 1.3. Then the DaPu SSD could normally be flashed and booted up.
What nvme protocol version is implemented in the Orin NX?