DOCA BlueField-4 (BF4) deployment
⚠️ WARNING — irreversible hardware operations. This skill guides
operators through potentially destructive, irreversible BlueField-4
hardware operations: PLDM firmware burns, ISO reflashes, power
cycles, and BMC factory resets. These can brick firmware, corrupt
boot media, or cause production outages. Do not proceed without a
maintenance window and a tested rollback plan. Every mutating step is
governed by
doca-hardware-safety, which
MUST be loaded alongside this skill before any destructive action.
Before executing any mutating step — PLDM firmware burn, ISO reflash,
power cycle, or BMC factory reset — the agent MUST show the exact
command and its blast radius (which device, what becomes unavailable,
whether it is reversible) and obtain the user's explicit confirmation
for that specific action. Never chain destructive steps or run them
speculatively as a side effect of another task.
Where to start: This skill is the bundle's deliberate in-bundle
home for day-1 platform bring-up of a BlueField-4 DPU via the
BMC — getting a powered-but-bare BF4 to "Grace OS installed,
firmware at the target level, ready to deploy a workload." It is the
upstream of the two application-deployment skills
(doca-container-deployment
and
doca-bare-metal-deployment):
those skills assume a working BlueField; this skill is how the
BlueField-4 GETS to working. If the user has a fresh BF4 and wants to
install the OS or update firmware, open TASKS.md and
start at ## configure. If the question is
what bring-up methods even exist and what is the contract for each,
start at CAPABILITIES.md.
Scope note — BF4 day-1 is in scope by directive. The bundle's
AGENTS.md ## Non-goals
item 7 lists the BlueField BSP / BFB / RShim / TMFIFO layer and the
BlueField BMC software as externally-productized. BlueField-4
day-1 bring-up via the BMC is carved into scope for this skill by
directive because day-1 has no other home in the bundle. The
carve-out is narrow: this skill teaches the documented BMC-driven
install and firmware-update FLOWS (the CLASS), routing every
mutating step through
doca-hardware-safety for the
change-application meta-policy. It does NOT redefine that
meta-policy, and it does NOT cover BF3 (route to
doca-bf3-deployment), application launch, or library APIs.
Audience
This skill serves external operators standing up a new
BlueField-4 who already have:
- a BlueField-4 with its BMC reachable out-of-band (BMC SSH plus the
documented Redfish endpoint), so the DPU can be driven without
physical access,
- the BlueField/DOCA bundle ISO (and, for the Grace-Ubuntu path, a
Grace Ubuntu image) downloaded from the public NVIDIA download
surface, hosted at {iso-uri} on the operator's own HTTP/HTTPS
server, and
- the target firmware and OS versions read from the public
BlueField/DOCA release notes (this skill never quotes a specific
pre-release firmware version).
It is not for:
- BlueField-3 (BF3) bring-up — route to
doca-bf3-deployment,
- developers who want to RUN a DOCA service container or a DOCA-linked
binary on an already-working BlueField — route to
doca-container-deployment
or
doca-bare-metal-deployment,
- the cross-cutting hardware-change meta-policy itself (preflight, OOB
console discipline, maintenance window, rollback) — that is owned by
doca-hardware-safety and this
skill cross-links it, never duplicates it,
- fleet-scale / orchestrated DPU provisioning — that is DOCA Platform
Framework territory, routed via
doca-public-knowledge-map.
The skill teaches the agent the documented bring-up procedure and
the rules for quoting Redfish / PLDM / UEFI standard operations and
public BlueField/DOCA documentation via
doca-public-knowledge-map;
it does not invent BMC credentials, ISO URIs, firmware version
strings, EIDs, Redfish task IDs, or device names from memory.
When to load this skill
Load this skill when the user is doing hands-on day-1 bring-up of a
BlueField-4 via the BMC, or asking a cross-cutting BF4-bring-up
question that is not specific to a later application-deployment step.
Concretely:
- Installing the BlueField/DOCA bundle ISO onto the DPU (Grace) for
the first time, and choosing between the three documented install
methods — UEFI HTTP Boot (recommended), PXE Boot, or Redfish
Virtual Media.
- Running the PLDM firmware-update flow across the BMC / NIC firmware
/ SBIOS / ERoT components: pushing the
.fwpkg bundle through the
Redfish UpdateService multipart endpoint, monitoring the returned
Task, verifying pending images with pldmtool, and activating with
a power cycle.
- Installing a Grace Ubuntu image (with optional cloud-init via a
CIDATA-labelled config ISO) through Redfish Virtual Media, with
either local hosting on the BMC eMMC or remote hosting on an
HTTPS server.
- Reaching the DPU's OOB serial console (BMC SSH plus
obmc-console-client) to watch the installer or UEFI menus.
- Diagnosing a bring-up that is misbehaving — the ISO will not boot,
virtual media will not attach, a firmware Task hangs or reports an
Exception, a pending image never activates, cloud-init is ignored,
or the DPU is stuck in a boot loop because media was never detached.
- Cross-cutting questions: "HTTP Boot or Redfish Virtual Media — which
do I use, and when do I actually need PXE?", "how do I know the
firmware update actually took effect?", "the ISO landed but the
NIC firmware update sub-step seems to have failed — what now?".
Do not load this skill for BF3 bring-up (route to
doca-bf3-deployment); for running an application on an
already-working BlueField (route to
doca-container-deployment
or
doca-bare-metal-deployment);
for env preparation on the installed Grace OS such as hugepages /
pkg-config / devlink (use doca-setup); for
the cross-cutting hardware-change meta-policy (route to
doca-hardware-safety); or for
fleet-scale orchestrated provisioning (route via
doca-public-knowledge-map).
What this skill provides
This is a thin loader. Substantive material lives in two
companion files:
CAPABILITIES.md — the BF4 day-1 bring-up contract: the three OS
install methods (UEFI HTTP Boot, PXE Boot, Redfish Virtual Media)
and the Grace-Ubuntu-plus-cloud-init Virtual Media path; the PLDM
firmware-update surface across BMC / NIC firmware / SBIOS / ERoT;
the version-compatibility overlay on
doca-version (the install and firmware
targets come from the public release notes, never from memory); the
bring-up error taxonomy (boot-source -> virtual-media-attach ->
firmware-Task -> activation -> cloud-init -> boot-loop); the
observability surface (the OOB console, the Redfish Task resource,
the Redfish FirmwareInventory, pldmtool GetFwParams, and the
installed-build check cat /etc/mlnx-release); and the safety
policy (an overlay on
doca-hardware-safety: every
PLDM burn / ISO reflash / power cycle / BMC factory reset is a
MUTATING hardware op; never print a real password; always detach
virtual media to avoid boot loops; only public hosts for any
NVIDIA URL).
TASKS.md — step-by-step workflows for the in-scope bring-up verbs:
configure, build (routing stub), modify (routing stub), run
(the three install methods plus the PLDM firmware-update flow plus
the Grace-Ubuntu cloud-init path, as ### sub-anchors), test
(the post-install / post-update verification sweep), debug (the
layered bring-up diagnosis), and the Deferred task verbs block
routing BF3 / application-launch / library-API / env-prep /
hardware-meta-policy / fleet questions out to their owning skills.
The skill assumes a BlueField-4 target where:
- the BMC is reachable out-of-band and the operator has BMC
credentials ({bmc-user} / {bmc-password}) they supply — never
invented here,
- the bundle ISO (and any Grace Ubuntu image / cloud-init config ISO)
is downloaded from the public NVIDIA download surface and hosted at
{iso-uri},
- the operator has read the target firmware and OS versions from the
public BlueField/DOCA release notes.
It does not cover installing DOCA tooling on the host — that path goes
through doca-setup — and it does not cover
running a workload once Grace is up — those paths go through the two
application-deployment skills.
Loading order
- Read this
SKILL.md first to confirm the user's question is in
scope (BF4 day-1 bring-up via the BMC; NOT BF3, NOT application
launch, NOT a library-API question, NOT the hardware-change
meta-policy itself).
- For the bring-up contract (the three install methods, the
Grace-Ubuntu cloud-init path, the PLDM firmware-update surface, the
version overlay, the bring-up error taxonomy, the observability
surface, and the BF4 safety overlay), see
CAPABILITIES.md.
- For step-by-step workflows —
configure, build (routing
stub), modify (routing stub), run (with the three install
methods, the PLDM flow, and the Grace-Ubuntu cloud-init path as
### sub-anchors), test, debug, plus the Deferred task verbs
block — see TASKS.md.
- Load
doca-hardware-safety
ALONGSIDE whenever the question reaches a mutating step (PLDM
firmware burn, ISO reflash, power cycle, BMC factory reset).
Example questions this skill answers well
See references/details.md.
What this skill deliberately does not ship
See references/details.md.
Related skills
See references/details.md.
1---2name: doca-bf4-deployment3description: WARNING: guides potentially IRREVERSIBLE BlueField-4 hardware operations (PLDM firmware burns, ISO reflashes, power cycles, BMC factory resets) that can brick firmware, corrupt boot media, or cause outages — a maintenance window and rollback plan are required, and every mutating step is governed by doca-hardware-safety, loaded alongside. Use this skill for BlueField-4 (BF4) day-1 platform bring-up from the BMC: installing the BlueField/DOCA bundle ISO onto the DPU (Grace, the Arm complex) over UEFI HTTP Boot, PXE, or Redfish Virtual Media; the PLDM firmware-update flow (BMC, NIC firmware, SBIOS, ERoT) via the Redfish UpdateService and pldmtool; and a Grace Ubuntu image with optional cloud-init. Trigger on BlueField-4/BF4 bring-up phrasings even without "BF4": {bring up my new BlueField-4}, {the BlueField ISO will not boot over HTTP from the BMC}, {attach BF4 virtual media via Redfish}, {BF4 firmware Task stuck at Running}. BF3 bring-up, application launch, and library APIs belong to other skills.4license: Apache-2.05---67# DOCA BlueField-4 (BF4) deployment89> ⚠️ **WARNING — irreversible hardware operations.** This skill guides10> operators through potentially destructive, irreversible BlueField-411> hardware operations: PLDM firmware burns, ISO reflashes, power12> cycles, and BMC factory resets. These can brick firmware, corrupt13> boot media, or cause production outages. Do **not** proceed without a14> maintenance window and a tested rollback plan. Every mutating step is15> governed by16> [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md), which17> MUST be loaded alongside this skill before any destructive action.18>19> Before executing any mutating step — PLDM firmware burn, ISO reflash,20> power cycle, or BMC factory reset — the agent MUST show the exact21> command and its blast radius (which device, what becomes unavailable,22> whether it is reversible) and obtain the user's explicit confirmation23> for that specific action. Never chain destructive steps or run them24> speculatively as a side effect of another task.2526**Where to start:** This skill is the bundle's deliberate in-bundle27home for **day-1 platform bring-up of a BlueField-4 DPU via the28BMC** — getting a powered-but-bare BF4 to "Grace OS installed,29firmware at the target level, ready to deploy a workload." It is the30upstream of the two application-deployment skills31([`doca-container-deployment`](../doca-container-deployment/SKILL.md)32and33[`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md)):34those skills assume a working BlueField; this skill is how the35BlueField-4 GETS to working. If the user has a fresh BF4 and wants to36install the OS or update firmware, open [`TASKS.md`](TASKS.md) and37start at [`## configure`](TASKS.md#configure). If the question is38*what bring-up methods even exist and what is the contract for each*,39start at [`CAPABILITIES.md`](CAPABILITIES.md).4041> **Scope note — BF4 day-1 is in scope by directive.** The bundle's42> [`AGENTS.md ## Non-goals`](../../AGENTS.md#non-goals-questions-the-agent-should-recognize-and-refuse-politely)43> item 7 lists the BlueField BSP / BFB / RShim / TMFIFO layer and the44> BlueField BMC software as externally-productized. **BlueField-445> day-1 bring-up via the BMC is carved into scope for this skill by46> directive** because day-1 has no other home in the bundle. The47> carve-out is narrow: this skill teaches the documented BMC-driven48> install and firmware-update FLOWS (the CLASS), routing every49> *mutating* step through50> [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md) for the51> change-application meta-policy. It does NOT redefine that52> meta-policy, and it does NOT cover BF3 (route to53> `doca-bf3-deployment`), application launch, or library APIs.5455## Audience5657This skill serves **external operators standing up a new58BlueField-4** who already have:5960- a BlueField-4 with its BMC reachable out-of-band (BMC SSH plus the61 documented Redfish endpoint), so the DPU can be driven without62 physical access,63- the BlueField/DOCA bundle ISO (and, for the Grace-Ubuntu path, a64 Grace Ubuntu image) downloaded from the public NVIDIA download65 surface, hosted at {iso-uri} on the operator's own HTTP/HTTPS66 server, and67- the target firmware and OS versions read from the **public68 BlueField/DOCA release notes** (this skill never quotes a specific69 pre-release firmware version).7071It is **not** for:7273- BlueField-3 (BF3) bring-up — route to `doca-bf3-deployment`,74- developers who want to RUN a DOCA service container or a DOCA-linked75 binary on an already-working BlueField — route to76 [`doca-container-deployment`](../doca-container-deployment/SKILL.md)77 or78 [`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md),79- the cross-cutting hardware-change meta-policy itself (preflight, OOB80 console discipline, maintenance window, rollback) — that is owned by81 [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md) and this82 skill cross-links it, never duplicates it,83- fleet-scale / orchestrated DPU provisioning — that is DOCA Platform84 Framework territory, routed via85 [`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md).8687The skill teaches the agent the documented bring-up *procedure* and88the rules for quoting Redfish / PLDM / UEFI standard operations and89public BlueField/DOCA documentation via90[`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md);91it does not invent BMC credentials, ISO URIs, firmware version92strings, EIDs, Redfish task IDs, or device names from memory.9394## When to load this skill9596Load this skill when the user is doing **hands-on day-1 bring-up of a97BlueField-4 via the BMC**, or asking a cross-cutting BF4-bring-up98question that is not specific to a later application-deployment step.99Concretely:100101- Installing the BlueField/DOCA bundle ISO onto the DPU (Grace) for102 the first time, and choosing between the three documented install103 methods — UEFI HTTP Boot (recommended), PXE Boot, or Redfish104 Virtual Media.105- Running the PLDM firmware-update flow across the BMC / NIC firmware106 / SBIOS / ERoT components: pushing the `.fwpkg` bundle through the107 Redfish UpdateService multipart endpoint, monitoring the returned108 Task, verifying pending images with `pldmtool`, and activating with109 a power cycle.110- Installing a Grace Ubuntu image (with optional cloud-init via a111 CIDATA-labelled config ISO) through Redfish Virtual Media, with112 either local hosting on the BMC eMMC or remote hosting on an113 HTTPS server.114- Reaching the DPU's OOB serial console (BMC SSH plus115 `obmc-console-client`) to watch the installer or UEFI menus.116- Diagnosing a bring-up that is misbehaving — the ISO will not boot,117 virtual media will not attach, a firmware Task hangs or reports an118 Exception, a pending image never activates, cloud-init is ignored,119 or the DPU is stuck in a boot loop because media was never detached.120- Cross-cutting questions: *"HTTP Boot or Redfish Virtual Media — which121 do I use, and when do I actually need PXE?"*, *"how do I know the122 firmware update actually took effect?"*, *"the ISO landed but the123 NIC firmware update sub-step seems to have failed — what now?"*.124125Do **not** load this skill for BF3 bring-up (route to126`doca-bf3-deployment`); for running an application on an127already-working BlueField (route to128[`doca-container-deployment`](../doca-container-deployment/SKILL.md)129or130[`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md));131for env preparation on the installed Grace OS such as hugepages /132pkg-config / devlink (use [`doca-setup`](../doca-setup/SKILL.md)); for133the cross-cutting hardware-change meta-policy (route to134[`doca-hardware-safety`](../doca-hardware-safety/SKILL.md)); or for135fleet-scale orchestrated provisioning (route via136[`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md)).137138## What this skill provides139140This is a **thin loader**. Substantive material lives in two141companion files:142143- `CAPABILITIES.md` — the BF4 day-1 bring-up contract: the three OS144 install methods (UEFI HTTP Boot, PXE Boot, Redfish Virtual Media)145 and the Grace-Ubuntu-plus-cloud-init Virtual Media path; the PLDM146 firmware-update surface across BMC / NIC firmware / SBIOS / ERoT;147 the version-compatibility overlay on148 [`doca-version`](../doca-version/SKILL.md) (the install and firmware149 targets come from the public release notes, never from memory); the150 bring-up error taxonomy (boot-source -> virtual-media-attach ->151 firmware-Task -> activation -> cloud-init -> boot-loop); the152 observability surface (the OOB console, the Redfish Task resource,153 the Redfish FirmwareInventory, `pldmtool` GetFwParams, and the154 installed-build check `cat /etc/mlnx-release`); and the safety155 policy (an overlay on156 [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md): every157 PLDM burn / ISO reflash / power cycle / BMC factory reset is a158 MUTATING hardware op; never print a real password; always detach159 virtual media to avoid boot loops; only public hosts for any160 NVIDIA URL).161- `TASKS.md` — step-by-step workflows for the in-scope bring-up verbs:162 `configure`, `build` (routing stub), `modify` (routing stub), `run`163 (the three install methods plus the PLDM firmware-update flow plus164 the Grace-Ubuntu cloud-init path, as `###` sub-anchors), `test`165 (the post-install / post-update verification sweep), `debug` (the166 layered bring-up diagnosis), and the `Deferred task verbs` block167 routing BF3 / application-launch / library-API / env-prep /168 hardware-meta-policy / fleet questions out to their owning skills.169170The skill assumes a BlueField-4 target where:171172- the BMC is reachable out-of-band and the operator has BMC173 credentials ({bmc-user} / {bmc-password}) they supply — never174 invented here,175- the bundle ISO (and any Grace Ubuntu image / cloud-init config ISO)176 is downloaded from the public NVIDIA download surface and hosted at177 {iso-uri},178- the operator has read the target firmware and OS versions from the179 public BlueField/DOCA release notes.180181It does not cover installing DOCA tooling on the host — that path goes182through [`doca-setup`](../doca-setup/SKILL.md) — and it does not cover183running a workload once Grace is up — those paths go through the two184application-deployment skills.185186## Loading order1871881. Read this `SKILL.md` first to confirm the user's question is in189 scope (BF4 day-1 bring-up via the BMC; NOT BF3, NOT application190 launch, NOT a library-API question, NOT the hardware-change191 meta-policy itself).1922. **For the bring-up contract (the three install methods, the193 Grace-Ubuntu cloud-init path, the PLDM firmware-update surface, the194 version overlay, the bring-up error taxonomy, the observability195 surface, and the BF4 safety overlay), see196 [CAPABILITIES.md](CAPABILITIES.md).**1973. **For step-by-step workflows — `configure`, `build` (routing198 stub), `modify` (routing stub), `run` (with the three install199 methods, the PLDM flow, and the Grace-Ubuntu cloud-init path as200 `###` sub-anchors), `test`, `debug`, plus the `Deferred task verbs`201 block — see [TASKS.md](TASKS.md).**2024. **Load203 [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md)204 ALONGSIDE** whenever the question reaches a mutating step (PLDM205 firmware burn, ISO reflash, power cycle, BMC factory reset).206207## Example questions this skill answers well208209See [`references/details.md`](references/details.md#example-questions-this-skill-answers-well).210## What this skill deliberately does not ship211212See [`references/details.md`](references/details.md#what-this-skill-deliberately-does-not-ship).213## Related skills214215See [`references/details.md`](references/details.md#related-skills).