Boot order change after massflash

Hi,
same issue as https://forums.developer.nvidia.com/t/orin-nx-boot-order-changer-after-restore-system/249885

cloned Orin NX 8GB with jetpack 5.1.1_R35.3.1:

sudo ./tools/backup_restore/l4t_backup_restore.sh -b -c p3509-a02+p3767-0000
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --use-backup-image --no-flash --network usb0 --massflash 5 p3509-a02+p3767-0000 nvme0n1p1

massflash:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 5 --network usb0 --showlogs

All good but the boot order changes to HTTP first so if an ethernet cable is connected the boot takes a few mins.
Any idea how to fix it?
or even a script to change the boot order after will do. I tried the efibootmgr with no success.
Thanks,
Yaniv
flash_1-3_0_20230723-143726.log (22.3 KB)

Hi yaniv.nahum,

Are you using the devkit or custom board for Orin NX?

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

it’s a custom board (seeed studio j401)

I did check the L4TConfiguration but it is config ok there and there is no http6, http4, pxev4, pxev6 as I get in the bootmanager after flashing:

DefaultBootPriority {
	data = "usb,nvme,emmc,sd,ufs";
	locked;
};

tried also delete these options in the original orinnx before flash with no success

Could you help to check boot-order after you use massflash for other boards?

  1. check L4TConfiguration.dtbo
  2. check in uefi menu
  1. if you mean on the host kernel/dtb/L4TConfiguration.dtbo - its not changing:
DefaultBootPriority {
	data = "usb,nvme,emmc,sd,ufs";
	locked;
};
  1. This is the efi of the cloned device:
sudo efibootmgr
BootCurrent: 0008
Timeout: 0 seconds
BootOrder: 000C,000B,000A,0009,0008,0007,0000,0006
Boot0000* Enter Setup
Boot0006* BootManagerMenuApp
Boot0007* UEFI Shell
Boot0008* UEFI WD PC SN740 SDDPNQD-256G 23194K803865 1
Boot0009* UEFI PXEv4 (MAC:48B02DEB5F59)
Boot000A* UEFI PXEv6 (MAC:48B02DEB5F59)
Boot000B* UEFI HTTPv4 (MAC:48B02DEB5F59)
Boot000C* UEFI HTTPv6 (MAC:48B02DEB5F59)

Do you mean that your board would try to boot up from http with above configuration?

Have you tried to remove ethernet cable and check the behavior?

Yes. if the ethernet cable is connected it tries to boot first HTTPv*, PXEv* which takes a few mins.
If the cable is not connected it skips the HTTP and the PXE and boots fast enough.

Could you try to leave nvme alone in this boot priority to check if it could help?
and please make sure it is loaded correctly during boot up.

tried it but no change. still get HTTP and pxe first and the SSD last.
We are using a custom device tree if it changes.
any other ideas?

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Do you add this in extlinux.conf and make sure it has been loaded during boot up?