image image image image image

On This Page

The mlx_fwsfx_gen tool is used for OEMs that wish to create their own UPMFs that contain their own customized firmware images.

To install the mlx_fwsfx_gen tool, the installation script should be run with the "--oem" command line option.

mlx_fwsfx_gen Usage

This tool packs the firmware images provided in the input directory and the mlxfwmanager update tool into a single standalone self-extracting executable.

The UPMF generation is supported on Linux and Windows. Being an executable file, the UPMF should be prepared for Linux and Windows separately.

Usage:

# mlx_fwsfx_gen --source-dir <FW images directory> --out-dir <output directory> [--sfx-name <sfx file name>] [--phy-support --phy-img <phy-img>][--extra-args <args>]

where:

--source-dirDirectory containing NVIDIA® firmware images to be included in the package. This option may be used more than once to specify more than one source directory.
--out-dir Specifies the output directory.
--certificateSSL certificate.
--phy-supportGenerate extractor with mlxphyburn support.
--phy-img

PHY firmware image.

--sfx-name The self-extracting executable filename. The default name is mlxfwmanager-YYYYMMDD-<build number>, where build number is the previous maximum build number existing in the output directory incremented by one.
--extra-args Extra args passed to mlxfwmanager default arguments. In the case of multiple args, the args are separated by commas. For example: [--extra-args --ret-lvim,--online]

 UPMF Package Generation Flow

UPMF Generation Example

The below example packs 3 firmware binaries (named fw-ConnectX-3-1.bin, fw-ConnectX-3-2.bin, fw-ConnectX-3-3.bin) located in the directory '/tmp/fw-ConnectX-3-dir/' into a Linux UPMF package named /tmp/mlxfwmanager-20171004-1.

mlx_fwsfx_gen --source-dir /tmp/fw-ConnectX-3Pro-dir/ --out-dir /tmp/

Package name: /tmp/mlxfwmanager-20171004-1
Contents:
Source dirs: /tmp/fw-ConnectX-3Pro-dir
Adding file: /etc/mft/ca-bundle.crt
sfx_stub file: /usr/bin/mlx_sfx_stub
Creating intermediate MFA archive from binary files:
4779-314A-X00_Ax~ATT1090111023.bin
Huawei_TD70VMTA_VA_CX3Pro_2P_40G_Ax~HUA0020010017.bin
Inventec_U50_CX3Pro_10GE_A1~INV0010110023.bin
MCX342A-XCQ_Ax~MT_1680116023.bin
MCX353A-FCC_Ax~MT_1100111019.bin
mfa tool: /usr/bin/mlx_mfa_gen
mfa cmd: /usr/bin/mlx_mfa_gen -p /tmp/OMs1D5PvHq/srcs.mfa -s /tmp/fw-ConnectX-3Pro-dir
Adding bins from /tmp/fw-ConnectX-3Pro-dir
Files copied: 5
Querying images ...
Files queried: 5
Compressing ... (this may take a minute)
Archive: /tmp/OMs1D5PvHq/srcs.mfa
Total time: 0m3s
Adding file: /tmp/OMs1D5PvHq/srcs.mfa
Adding file: /usr/bin/mlxfwmanager
Creating zip /tmp/OMs1D5PvHq/zippackage.zip
adding: srcs.mfa (deflated 0%)
adding: mlxfwmanager (deflated 52%)
adding: ca-bundle.crt (deflated 45%)
sfx auto-run command:
mlxfwmanager -u --log-on-update --ssl-certificate %ca-bundle.crt% %current-dir% %argv%
Log name: /tmp/mlxfwmanager-20171004-1.log

UPMF Generation with PHY Binary Example

The below example packs 3 firmware binaries (named fw-ConnectX-3-1.bin, fw-ConnectX-3-2.bin, fw-ConnectX-3-3.bin) located in the directory '/tmp/fw-ConnectX-3-dir/' and a PHY image '/tmp/Firmware_1.37.10_N32722.cld' into a Linux UPMF package named /tmp/mlxfwmanager-20141126-2.

mlx_fwsfx_gen --source-dir /tmp/fw-ConnectX-3-dir --out-dir /tmp --phy-support --phy-img /tmp/
Firmware_1.37.10_N32722.cld

Creating /tmp/C04TldeQHr/phy_mfa direcotry
Package name: /tmp/mlxfwmanager-20141126-2
Contents:
Source dirs: /tmp/fw-ConnectX-3-dir
Adding file: /etc/mft/ca-bundle.crt
sfx_stub file: /usr/bin/mlx_sfx_stub
Creating intermediate MFA archive from binary files:
fw-ConnectX-3-1.bin
fw-ConnectX-3-2.bin
fw-ConnectX-3-3.bin
mfa tool: /usr/bin/mlx_mfa_gen
mfa cmd: /usr/bin/mlx_mfa_gen -p /tmp/YaH5BAoQ8q/srcs.mfa -s /tmp/fw-ConnectX-3-dir
Adding bins from /tmp/fw-ConnectX-3-dir

Files copied: 3

Querying images ...
Files queried: 3
Compressing ... (this may take a minute)

Archive: /tmp/YaH5BAoQ8q/srcs.mfa
Total time: 0m1s
Adding file: /tmp/YaH5BAoQ8q/srcs.mfa
Adding file: /usr/bin/mlxfwmanager
Copying /tmp/Firmware_1.37.10_N32722.cld to /tmp/C04TldeQHr/phy_mfa
Adding file: /tmp/Firmware_1.37.10_N32722.cld
Adding file: /usr/bin/mlxphyburn
Creating zip /tmp/YaH5BAoQ8q/zippackage.zip
adding: srcs.mfa (deflated 0%)
adding: ca-bundle.crt (deflated 45%)
adding: phy_mfa/ (stored 0%)
adding: phy_mfa/Firmware_1.37.10_N32722.cld (deflated 44%)
adding: mlxfwmanager (deflated 57%)
adding: mlxphyburn (deflated 60%)
sfx auto-run command:
mlxfwmanager -u --log-on-update --ssl-certificate %ca-bundle.crt% %current-dir% %argv%
mlxphyburn auto-run command:
mlxphyburn %device% -i ./phy_mfa/Firmware_1.37.10_N32722.cld b
Log name: /tmp/mlxfwmanager-20141126-2.log