Boot from USB - UEFI bootloader not seeing USB device

I have been struggling to get the Orin NX 8GB (Forecr carrier board) to boot from a usb device (SSD connected via USB) that I flashed following the jetson documentation. It seems that the USB device is partitioned properly when I inspect it when the jetson has booted (from NVMe) but on boot the UEFI bootloader only sees the two NVMe drives and not the USB device. I have verified that the default boot order looks for USB devices first before checking NVMe devices but my hypothesis is that the problem lies with the USB device not enumerating early enough in the boot sequence. I have also looked at the extlinux.conf and it looks like the primary partition is for USB? this is what I am seeing in extlinux.conf:

LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
FDT /boot/dtb/kernel_tegra234-p3767-0001-p3768-0000-a0.dtb
INITRD /boot/initrd
APPEND ${cbootargs} usbcore.usbfs_memory_mb=1024 root=PARTUUID=97f0ad2f-059-4b4f-90d2-ca10084df67c rw rootwait rootfstype=ext4 mminit_loglevel=4 console
ttyTCU0,115200 console=ttyAMA0,115200 firmware_class.path=/etc/firmware fbcon=mp:0 net.ifnames=0 nospectre_bhb

Is there any additional steps I need to take to have the device boot from the USB device?

May be the USB pen drive is failing to act as a bootable device even though partition is correct


Is there anything I can do to test this hypothesis? Or is there anything I can do to fix this? What would be the reason a USB would fail to ‘act as a bootable device’?

Since you are using “Forecr carrier board” which is not NV devkit, I would suggest you should consult with the board vendor.

Maybe they have their own customized BSP to enable USB on this board. We won’t know about it.

Hi wayne,
Thank you for getting back to me. I was able to boot from the USB drive, but only by adding the entry into the extlinux.conf of the nvme drives.
However, I need to get this behavior to work without the NVMe drives so that the USB can act as a fallback boot drive should the NVMe fail. I will reach out to Forecr and ask for their help as well. I posted here originally because I thought the boot sequence is handled by the jetson and since the USB ports are operating normally I didn’t think it was a carrier board issue.

Any further assistance would be greatly appreciated. Thank you!

Hi,

Just some clarification and analysis.

  1. Your comment indicates

I was able to boot from the USB drive, but only by adding the entry into the extlinux.conf of the nvme drives.

This means USB drive is able to work in kernel. If you didn’t flash any customized software to this board, it means default NVIDIA BSP can work or partially work on this board.

  1. UEFI is not able to detect it. It means above configuration cannot work in UEFI stage.
    Please be aware that even UEFI bootloader has software setting w.r.t the carrier board in use. It is not always same.

  2. If you want us to help check, you could put same USB drive to NVIDIA devkit and see if UEFI can detect it or not. If it cannot, then it sounds a general software problem in UEFI that needs further check by us. If it can, then this would be an issue related to the custom board you are using.
    But generally this should be reported by the vendor, but not you.

  3. Please be aware that everything on a custom board requires a software update. You cannot just rely on default Jetpack for every kind of carrier board. Even changing a GPIO on board design would require device tree change.
    For example, NV devkit is using a chip called fusb301 to control the type C usb port on it. What if a custom board that has no such chip on it? What if a custom board that even has no type C port on it? Do you think default jetpack would work on such case? Of course not.

2 Likes

Wayne, you are the man! Thank you for this detailed analysis, this was super helpful and informative!

I dont currently have a dev kit board but I am working on getting one so I can better understand the boot process and rely on the Nvidia docs a little more. I will be back when I have secured this!

Thanks again!

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.