Skip to content

Manage Firmware Bundles

The Firmware Bundles page in MOJO lets you upload firmware files, organize them into bundles, and build packaged archives — all from the web interface. Use it to keep your firmware catalog organized and ready for deployment.

Prerequisites

  • A running MOJO instance
  • Administrator or superuser access to the MOJO web interface
  • Firmware binary files from your server vendor (Dell, HPE, Cisco, Supermicro, etc.)

  1. Log in to the MOJO web interface
  2. In the left sidebar, click Configuration
  3. Click Firmware Bundles

The page shows four summary cards at the top:

Card What It Shows
Total Bundles Number of bundle definitions you have created
Manufacturers Distinct manufacturers across your bundles
Builds Total packaged archives available for download
Firmware Files Total individual firmware binaries uploaded to MOJO (click to expand the list)

Key Concepts

Before getting started, here are the three main concepts on this page:

Firmware File : An individual firmware binary (BIOS update, BMC firmware, service pack, etc.) uploaded to MOJO with metadata like type, version, manufacturer, and compatible server models.

Bundle Definition : A named set of rules that groups firmware files together by manufacturer and pattern matching. Think of it as a "filter recipe" — it defines which firmware files belong in the bundle.

Bundle Build : A packaged .tar.gz archive generated from a bundle definition. It contains all the firmware files that matched the bundle's rules, plus a manifest. This is what gets distributed to servers or downloaded for offline use.

The typical workflow is:

Upload Firmware Files → Create Bundle Definitions → Build Bundles → Deploy

Upload a Firmware File

Use this to add individual firmware binaries (BIOS updates, BMC firmware, RAID controller firmware, etc.) to MOJO.

  1. Click the Upload Firmware button in the top-right corner
  2. The upload dialog opens — click Choose File and select your firmware binary

    Confirming your selection

    After selecting a file, the filename and file size appear below the input so you can confirm you picked the right one.

  3. Select the Type from the dropdown:

    Type Use For
    BIOS System BIOS / UEFI firmware
    BMC Baseboard Management Controller (iDRAC, iLO, CIMC)
    Storage Controller RAID / HBA controller firmware
    LSI 3108 LSI MegaRAID 3108 family
    Service Pack Cisco Host Upgrade Utility (HUU) ISO
    NIC Network interface card firmware
    CPLD Complex Programmable Logic Device firmware
    PSU Power supply unit firmware
    GPU Graphics processing unit firmware
  4. Enter the Version — use the vendor's version string (e.g., 2.22.1, 7.10.90.00)

  5. Enter the Manufacturer — this must match exactly how the manufacturer appears in MOJO's server inventory

    Manufacturer input

    If MOJO has already discovered servers, a dropdown appears with known manufacturers. If no servers have been discovered yet, a text input appears where you can type the manufacturer name manually (e.g., Dell Inc., HPE, Cisco Systems Inc., Supermicro).

  6. Select or enter Models — the server models this firmware is compatible with

    • If discovered servers exist: a multi-select list appears — hold ++ctrl++ to select multiple
    • If no servers are discovered: type comma-separated model names (e.g., PowerEdge R650, PowerEdge R750)
  7. Click Upload

A success notification confirms the upload, and the Firmware Files count updates automatically.

Supported File Types

MOJO accepts firmware files with these extensions:

.bin .exe .iso .cap .fwpkg .rpm .scexe .img .rom .zip .tar .gz .tgz .efi .fd .hpm


View Firmware Files

Click the Firmware Files card at the top of the page to expand a panel showing all uploaded firmware binaries. You can:

  • Search — Filter by filename
  • Download — Download a copy of any firmware file
  • Delete — Remove a firmware file from the catalog

Create a Bundle Definition

Bundle definitions are the rules that organize your firmware files into logical groups.

  1. Click the Upload Bundle button in the top-right corner
  2. The dialog opens in Create Bundle Definition mode
  3. Fill in the fields:

    Field Description Example
    Name A descriptive name for this bundle Dell PowerEdge BIOS
    Manufacturer The manufacturer to filter firmware by Dell Inc.
    Include Patterns Comma-separated patterns to match firmware locations bios, poweredge
    Exclude Patterns Comma-separated patterns to exclude from matches legacy, test
  4. Click Create

How Pattern Matching Works

When you build a bundle, MOJO:

  1. Collects all firmware files matching the bundle's manufacturer
  2. Keeps only firmware whose location matches at least one include pattern
  3. Removes any firmware whose location matches an exclude pattern

Pattern Examples

  • Include bios, poweredge — matches firmware containing "bios" OR "poweredge" in the location
  • Exclude legacy — removes any firmware containing "legacy" in the location
  • Leave Include empty to match all firmware from the specified manufacturer

Build a Bundle

Building a bundle packages all matching firmware files into a downloadable .tar.gz archive.

  1. In the bundles table, find the bundle you want to build
  2. Click the Build button (gear icon) in the Actions column
  3. A notification confirms the build has started
  4. Click Refresh to see the updated build count

What's in a build?

The .tar.gz archive contains all firmware files that matched the bundle's rules, organized by manufacturer, model, and type, along with a manifest file containing metadata (checksums, versions, models) for each firmware binary.

Build Statuses

Status Meaning
Building Archive is being created
Ready Build completed — archive is available for download
Failed Build failed — typically means no firmware files matched the bundle's patterns

View Bundle Details

Click the View button (eye icon) in the Actions column to see:

  • Bundle metadata (name, manufacturer, patterns)
  • List of all builds with their status, date, file size, and firmware count
  • Download links for each completed build archive

Import a Pre-Built Bundle Archive

If you have a pre-packaged firmware bundle archive (e.g., one provided by Metify or built using the firmware-bundles tooling), you can import it directly:

  1. Click the Upload Bundle button
  2. Switch the Mode dropdown to Upload Firmware Bundle (.tar.gz)
  3. Click Choose File and select the .tar.gz archive
  4. Click Upload

MOJO will extract the archive, process each firmware binary inside it, verify checksums, and add them to the catalog.

Alternative: CLI import

You can also import firmware bundles via the command line using sudo ./mojo-manage --firmware. See Add a Firmware Bundle for the CLI workflow.


Delete a Bundle

  1. In the bundles table, click the Delete button (trash icon) in the Actions column
  2. Confirm the deletion

Warning

Deleting a bundle also removes all of its builds and their archive files. The individual firmware files in the catalog are not deleted.


Troubleshooting

Upload fails with 'Unsupported file type'

The file extension is not in the supported list. Rename the file to use a supported extension, or contact Metify support if you believe the extension should be accepted.

Build fails with 'No firmware matched'

No firmware files in the catalog match the bundle's manufacturer and include patterns. Check that:

  • Firmware files exist for the specified manufacturer (expand the Firmware Files panel to verify)
  • The include patterns actually match the firmware file locations
  • The manufacturer name matches exactly (e.g., Dell Inc. not Dell)
'Permission denied' error on upload

The firmware storage directory is not writable. On a local development setup, fix ownership:

sudo chown -R <user>:<user> <coordinator-root>/.local/firmware

In production MOJO containers, this directory is created with proper permissions automatically. If you encounter this in production, contact Metify support.

Upload button stays disabled

All fields are required. Make sure you have selected a file, chosen a type, entered a version, entered a manufacturer, and specified at least one model.


Next Steps

  • Set up compliance checking — Use firmware files to create Firmware Baselines and check compliance across your fleet
  • Import via CLI — Use mojo-manage --firmware to import bundles from Nexus or local files
  • API access — See the MOJO REST API for programmatic firmware management