Sequential DPU and Host Boot Sequence
This describes the sequential DPU and host boot sequence feature, which enables synchronized initialization of the BlueField DPU and the host system.
Supported for NVIDIA BlueField-3 devices onward.
Following a server power cycle or a Coordinated Reset of the BlueField DPU (e.g., after a firmware or software update), both the DPU and the host Operating Systems (OS) normally initiate their boot sequences simultaneously. On certain server platforms, the host OS may finish booting before the DPU's internal services are fully initialized and operational.
By utilizing sequential boot, you can coordinate the boot flow between the DPU and the host. On every server power cycle or DPU Coordinated Reset:
-
The DPU initiates its boot sequence.
-
The DPU holds the host OS from proceeding past its BIOS/UEFI execution phase.
-
Once the BlueField Arm OS is up and initialized, the host is released to begin loading its operating system.
This feature is disabled by default.
Prerequisite
This feature relies on the use of UEFI with expansion ROM enabled (by default it is enabled). Please verify the following:
-
If you are using a host with Arm CPU:
-
Make sure
EXP_ROM_UEFI_ARM_ENABLEis set toTrue (1)
-
-
If you are using a host with x86 CPU:
-
Make sure
EXP_ROM_UEFI_x86_ENABLEis set toTrue (1)
-
Enabling Sequential DPU and Host Boot
This mode is enabled via the DELAY_HOST_OS_INIT user option ENABLE (1). Once enabled, on every power cycle or Coordinated Reset, the host OS is held from continuing boot in the BIOS/UEFI stage until the BlueField Arm OS internal mlx driver has completed initialization, which automatically triggers the release of the BIOS to continue with the host OS boot.
To enable this mode from the host or BlueField Arm OS console, run:
$ sudo mlxconfig -d /dev/mst/<device> s DELAY_HOST_OS_INIT=1
For this configuration to take effect, BlueField reset should be applied.
Enabling Sequential DPU and Host Boot with User-Triggered Boot Release
This mode is enabled via the DELAY_HOST_OS_INIT user option ENABLE_USER (3). It allows applications or custom scripts running in the BlueField Arm OS user-space to manually trigger the release of the host OS boot sequence.
With this user-triggered mode, administrators can fully bring up critical DPU services, connect to remote resources, configure networking and storage interfaces, and enforce strict security policies before allowing the host system to boot and access the network through the DPU.
To enable this mode (only required once), run the following command from the host or BlueField Arm OS console
$ sudo mlxconfig -d /dev/mst/<device> s DELAY_HOST_OS_INIT=3
Detailed Boot Sequence (User-Triggered Mode)
-
Following a server power cycle or a DPU Coordinated Reset, the DPU initiates its boot sequence. The DPU pauses the host OS boot in its BIOS execution phase for up to a designated timeout period while the DPU Arm OS initializes.
-
Once the DPU Arm OS is up, user-space applications or scripts can manually trigger the host OS boot release by writing to the boot control sysfs interface:.
# Execute this command within the DPU Arm OS to release the host OS
# Note: This command must be called only once on every DPU boot and can be executed
# on any of the 'device' nodes (calling it on a single MST device is sufficient to release the host).
$ sudo mlxreg -d /dev/mst/<device> --reg_name HOST_OS_INIT_CTRL --yes --set "delay_host_os_init_clr=0x1"
Once this command is executed, the DPU releases the host BIOS/UEFI, allowing it to continue its boot sequence and load the host OS.
Timeout
The boot timeout is calculated per Physical Function (PF) exposed on the PCIe interface. If the DPU fails to initialize or reach a ready state, a maximum timeout of 20 minutes is enforced per port. This fallback mechanism serves as a critical safeguard to prevent the host system from being permanently blocked by an unresponsive or offline DPU.
Disabling Sequential DPU and Host Boot (Default out-of-box)
To disable this feature and allow simultaneous, parallel boot-up of the host and DPU, set DELAY_HOST_OS_INIT to DISABLE (2).
From host or BlueField Arm OS console, run:
$ sudo mlxconfig -d /dev/mst/<device> s DELAY_HOST_OS_INIT=2
For this configuration to take effect, BlueField reset should be applied.
Frequently Asked Questions (FAQ)
What is the primary difference between Standard Sequential Boot and User-Triggered Boot Release?
-
Standard Sequential Boot (DELAY_HOST_OS_INIT=1): The boot release is fully automated. The host OS is held in the BIOS stage until the DPU Arm OS internal
mlxdriver finishes initialization, which automatically releases the host. No manual intervention or scripting is required. -
User-Triggered Boot Release (DELAY_HOST_OS_INIT=3): The boot release is entirely controlled by user-space applications or custom orchestration scripts running on the DPU Arm OS. The host is held in the BIOS stage until a script explicitly executes the
mlxregcommand to force the release.This mode is ideal for complex deployment scenarios because it allows administrators to bring up critical DPU services, connect to remote resources, configure networking and storage interfaces, and fully enforce security policies before allowing the host system to gain access through the DPU.
What happens if the DPU fails to boot?
To prevent the host from being permanently blocked or hung, a 20-minute safety timeout is calculated per Physical Function (PF) on the PCIe interface. If the DPU fails to signal a release within this window, the fallback mechanism automatically releases the BIOS, allowing the host OS to load normally.
Last updated: