BFB FW-Bundle Extraction Process
The bfb-tool
is a command-line utility used to manage BlueField BFB files (i.e., bf-bundle
or bf-fwbundle
). It supports two primary actions:
Extracting payloads from a BFB
Repacking BFBs for a specific PSID or OPN
This page provides comprehensive usage instructions, supported options, and examples.
qemu-aarch64-static
is required to extract the NIC firmware payload from the bundle.
This binary is included in the qemu-user-static
package.
To install qemu-user-static via Docker:
$ docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
This command registers QEMU interpreters on the host, enabling execution of Arm binaries (such as aarch64) on x86_64 systems using binfmt_misc
.
See more information on qemu-user-static
in GitHub.
bfb-tool <action> --bfb <BFB> --psid <PSID>|--opn <OPN>|--all [-p|--profile <Profile>] [-o|--output-dir <dir>] [-f|--output-format <format>] [-B|--output-bfb] [-r|--replace-fw <path>] [-v|--verbose] [-j|--json]
Action | Description |
| Extracts the firmware payload for the specified PSID, OPN, or all configurations |
| Extracts and rebuilds a new BFB file tailored to a specific PSID or OPN |
| Print version information for components contained in a BFB |
Option | Description |
| Path to the input BFB file (e.g., |
| Target PSID (e.g., |
| Target OPN (e.g., |
| Configuration profile |
| Optional profile to apply during repacking |
| Directory to store the extracted or repacked output files |
| Enable verbose output for detailed execution logs |
| Print version info in JSON format |
Extract payload for a specific PSID:
bfb-tool extract --bfb bf-fwbundle-
2.9
.2
-40_25.02
-prod.bfb --psid MT_0000001070Repack BFB for a specific OPN:
bfb-tool repack --bfb bf-fwbundle-
2.9
.2
-40_25.02
-prod.bfb --opn900
-9D3B6-F2SV-PA0_AxExtract all configurations:
bfb-tool extract --bfb bf-fwbundle-
2.9
.2
-40_25.02
-prod.bfb --allSpecify a custom output directory:
bfb-tool extract --bfb bf-fwbundle-
2.9
.2
-40_25.02
-prod.bfb --psid MT_0000001070 --output-dir /path/to/outputEnable verbose output:
bfb-tool repack --bfb bf-fwbundle-
2.9
.2
-40_25.02
-prod.bfb --opn900
-9D3B6-F2SV-PA0_Ax -v
Ensure the specified BFB file exists and is accessible
Only one of these options can be used per command:
--psid
,--opn
, or--all
Use
--profile
to apply a specific firmware configuration profile (if applicable)By default, extracted files are saved to
/tmp/<bfb-name>/
unless overridden using--output-dir