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.
Prerequisites
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.
Command Syntax
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]
Actions
|
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 |
Options
|
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 |
Examples
-
Extract payload for a specific PSID:
bfb-tool extract --bfb bf-fwbundle-2.9.2-40_25.02-prod.bfb --psid MT_0000001070
-
Repack BFB for a specific OPN:
bfb-tool repack --bfb bf-fwbundle-2.9.2-40_25.02-prod.bfb --opn 900-9D3B6-F2SV-PA0_Ax
-
Extract all configurations:
bfb-tool extract --bfb bf-fwbundle-2.9.2-40_25.02-prod.bfb --all
-
Specify 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/output -
Enable verbose output:
bfb-tool repack --bfb bf-fwbundle-2.9.2-40_25.02-prod.bfb --opn 900-9D3B6-F2SV-PA0_Ax -v
Usage Notes
-
Ensure the specified BFB file exists and is accessible
-
Only one of these options can be used per command:
--psid,--opn, or--all -
Use
--profileto apply a specific firmware configuration profile (if applicable) -
By default, extracted files are saved to
/tmp/<bfb-name>/unless overridden using--output-dir
Last updated: