UPMF Generation Flow

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.

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:

Copy
Copied!
            

# 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-dir

Directory 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.

--certificate

SSL certificate.

--phy-support

Generate 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

image2019-3-19_14-48-28.png

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.

Copy
Copied!
            

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.

Copy
Copied!
            

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


© Copyright 2023, NVIDIA. Last updated on Oct 12, 2023.