How does BootROM decide the boot media

In R35.2.1 document, it says BootROM initializes the boot media and loads BR-BCT, PSCBL1, Microboot1 (MB1) and MB1-BCT from storage, and then halts.

How does BootROM decide the boot media like eMMC/SD/NVME?

Hi harry_xiaye,

Boot device is decided through boot-order in UEFI.
You could refer to the following instruction for details.
UEFI Adaptation — Boot Order Selection


BootROM should be the first part for boot. If UEFI decides the boot device, it should write the boot device somewhere, then BootROM can know it, right?

So where does UEFI write the boot device?


You could refer to the following document for boot flow of Orin series.
Jetson AGX Orin, Orin NX and Orin Nano Boot Flow

I don’t see it writes the boot device. May I know what’s the purpose or use case for BootROM?

Currently we use SD card for our system, later we may want to use NVME(SSD). We plan to make a system image for easy flash and dont want to change the boot media via UEFI boot order.
So we want to know if boot media information is saved somewhere then we may be able to set boot media when flashing the image.

You could refer to the following instruction to configure boot-order in L4TConfiguration.dtbo.
UEFI Adaptation — Customizing the Default Boot Order in L4TConfiguration.dtbo in the BSP Directory

thanks your information, @KevinFFF

I used sdkmanager to flash into SD card on my Orin nano module. In this method, where is the kernel image flashed and loaded, partition or file system?

I saw some flash xml that kernel image is flashed into partition, and I also can see /boot folder has kernel image, dtb and extlinux etc. I am confused which kernel/dtb/extlinux ( from partition or /boot in file system) is loaded when boot.

It should be in both, and it would load from /boot/Image first. If it load kernel from rootfs failed, then it would load it from partition.