How to disable netboot options in UEFI

I have a Jetson Orin Nano system that is booting normally from NVMe.

I would like to fully remove the netboot options (ie: HTTPv4, HTTPv6, PXEv4 & PXEv6) so that they don’t even appear in the UEFI “Boot Order” menu.

I have tried doing this in several ways, but they keep re-appearing…. I have tried:

  • Building UEFI with -D “NETWORK_ENABLE=FALSE” options
  • Removing them from the mBootPriorityTemplate table in PlatformBootOrderLib.c
  • Removing them manually from the UEFI dialog, and at userspace using the efibootmgr tool. In both these cases, they appear to be removed but will re-appear on a reboot.

*** Please note that this reply is generated by LLM automatically ***

To fully remove the netboot options (HTTPv4, HTTPv6, PXEv4, and PXEv6) from the UEFI Boot Order menu on your Jetson Orin Nano system, you need to modify the UEFI configuration and ensure that the changes persist across reboots.

Method 1: Modifying the L4TConfiguration.dts file

  1. Change the default boot order variable DefaultBootPriority in the L4TConfiguration.dts file located in the Silicon/NVIDIA/Tegra/DeviceTree/ UEFI source directory.
  2. Remove the netboot options from the DefaultBootPriority variable. For example, you can set it to DefaultBootPriority = 0x00000001; to only include the NVMe boot option.
  3. Build the UEFI from source and copy the generated L4TConfiguration.dtbo file to the <top>/kernel/dtb/ BSP directory.
  4. Flash the Jetson device.

Method 2: Using the efibootmgr tool

  1. Boot into the UEFI shell and use the efibootmgr tool to remove the netboot options.
  2. List the current boot entries using efibootmgr -v.
  3. Identify the boot entries corresponding to the netboot options (HTTPv4, HTTPv6, PXEv4, and PXEv6).
  4. Remove each netboot option using efibootmgr -b <boot_number> -B, where <boot_number> is the number of the boot entry to be removed.
  5. Verify that the netboot options are removed by listing the boot entries again using efibootmgr -v.

Comparison of methods

Both methods should achieve the desired result of removing the netboot options from the UEFI Boot Order menu. However, modifying the L4TConfiguration.dts file (Method 1) is a more permanent solution, as it changes the default boot order configuration at the source level. Using the efibootmgr tool (Method 2) is a more temporary solution, as the changes may not persist across reboots or firmware updates.

Troubleshooting

If the netboot options reappear after trying the above methods, ensure that:

  • You have saved the changes to the L4TConfiguration.dts file and rebuilt the UEFI.
  • You have flashed the Jetson device with the updated UEFI configuration.
  • You have removed all instances of the netboot options from the UEFI configuration.
  • You have verified that the changes persist across reboots.

If you continue to experience issues, you may want to consult the NVIDIA Jetson Linux Developer Guide or seek further assistance from NVIDIA support or the Jetson community forums.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Hi tom.foy,

Are you using the devkit or custom board for Orin Nano?
What’s the Jetpack version in use?

I think you can refer to the following thread for the similar requirement.
在烧写系统前,如何把httpv6,httpv4,pxev6,pxev4在uefi菜单中禁掉 - #14 by 1516775545

Thanks KevinFFF - I’ve now resolved this problem.

The link you provided - although it wasn’t an immediate fix - it steered me in the right direction…

I was able to permanently remove the PXE boot option (PXEv4 and PXEv6), by setting as follows in NetworkPkg.dec:

gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x00|UINT8|0x10000009

and

gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x00|UINT8|0x1000000a

(note the 0x00)

The HTTP boot options were a little more troublesome, but I was able to permanently remove these by stubbing out the …DriverEntryPoint function in HttpBootDxe.c by placing a:

return EFI_UNSUPPORTED;

… as the first line of the function, thus bypassing the driver setup.

1 Like

Good to hear that and thank you for sharing your method to disable HTTP boot option.

Are you using the devkit or custom board for Orin Nano? Devkit. One of these.
What’s the Jetpack version in use? L4T_VERSION: 36.4.4