Adding a Firmware Bundle
Firmware Bundles are collections of firmware binaries, checksums, and metadata that allow Mojo to
apply firmware update to servers. Each Firmware Bundle contains one or more Firmware Binaries that can be used in the Mojo Platform. A Firmware Bundle is used to organize, package, and distribute these Firmware Binaries safely and securely.
This tutorial walks through how to add a new Firmware Bundle into Mojo so it can be used to update servers within the Mojo Platform.
Getting Started
Before you begin, you must have a Firmware Bundle in mind to install. This can be prepared and distributed by Metify or created manually by you. See the documentation on Creating a Firmware Bundle [todo: link] for more information on creating your own.
Available Bundles
The following Firmware Bundles are available from Metify. Input the values from this table into the ./mojo-manage --firmware
command. Firmware Bundles are organized by organization
, type
, and version
. The combination of these three fields is unique within the Mojo Platform and identifies a unique Firmware Bundle.
organization | type | version | description |
---|---|---|---|
all | all | latest | The latest verified firmware images across all vendors and models |
dell | all | latest | The latest verified firmware images from Dell, Inc. |
dell | idrac | latest | The latest iDRAC firmware images from Dell, Inc. |
dell | r240 | latest | The latest firmware and iDRAC for a Dell R240 |
dell | r440 | latest | The latest firmware and iDRAC for a Dell R440 |
dell | r640 | latest | The latest firmware and iDRAC for a Dell R640 |
dell | r740xd | latest | The latest firmware and iDRAC for a Dell R740xd |
dell | t140 | latest | The latest firmware and iDRAC for a Dell T140 |
hpe | all | latest | The latest verified firmware images from Hewlett Packard Enterprise Company (HPE) |
intel | all | latest | The latest firmware for Intel systems |
intel | coyote_pass | latest | The latest firmware for an Intel CoyotePass system |
supermicro | all | latest | The latest verified firmware images from Super Micro Computer, Inc. |
Running
You can upload a new Firmware Bundle by executing the following command inside of your Mojo installation directory and following the prompts.
sudo ./mojo-manage --firmware
In order to add a new Firmware Bundle, the Mojo platform needs to be running .
Enter the Firmware Bundle organization
The organization
field is the top level field to pull the firmware bundle from. The value can be pulled from the Available Bundles table or specified manually. This field is only used to construct the resulting download URL, so if you made your own Firmware Bundle, you may enter anything you would like here.
Organization? []: dell
Enter the Firmware Bundle name
The name
field is the second organizational field used to distribute the Firmware Bundles. The value can be pulled from the Available Bundles table or specified manually. This field is only used to construct the resulting download URL, so if you made your own Firmware Bundle, you may enter anything you would like here.
Name? []: idrac
Enter the Firmware Bundle version
The version
field is the third and last organizational field used to distribute the Firmware Bundles. The value can be pulled from the Available Bundles table or specified manually. This field is only used to construct the resulting download URL, so if you made your own Firmware Bundle, you may enter anything you would like here. By convention, there will always be a latest
version of each organization
and name
combination. This is to easily update specific grounds of Firmware Bundles to the latest versions easily.
Version? [latest]: latest
Add or Edit the Download URL
By convention, when receiving an Firmware Bundle from Metify, the URL will be organized with the organization
, name
and version
entered. These fields are combine into a URL that is presented as the default for this field. If you are downloading an Firmware Bundle from Metify and were given a values to put into these fields, or pulled the values from the Available Bundles table, you should not change this field. If you have created your own Firmware Bundle, you will want to point this field to a URL with your downloadable Firmware Bundle archive.
Download URL? [https://download.metify.io/repository/firmware-external/bundles/dell/idrac/latest/firmware.tar.gz]:
Install Firmware Bundle
Once the Download URL has been set, the program will download the Firmware Bundle, extract it, and process its contents. It will find each individual Firmware Binary, checksum, and metadata within the package, verify the files with checksums, and add each of them to the Mojo Platform.
Configured to add or update the following Firmware Bundle...
Organization: dell
Name: idrac
Version: latest
URL: https://download.metify.io/repository/firmware-external/bundles/dell/idrac/latest/firmware.tar.gz
Downloading https://download.metify.io/repository/firmware-external/bundles/dell/idrac/latest/firmware.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 216M 100 216M 0 0 4512k 0 0:00:49 0:00:49 --:--:-- 4990k
Extracting to volumes/firmwares...
Configuring Mojo with Firmware bundle...
[+] Copying 1/1
✔ mojo-app-1 copy /tmp/dell-idrac-latest-1710441842.tar.gz to mojo-app-1:/tmp/dell-idrac-latest-1710441842.tar.gz Copied
2024-03-14 18:44:55,166 - Configuring Mojo with new Firmware...
2024-03-14 18:44:55,780 - Loaded firmware bundle /dell/iDRAC/BMC/7.00.00.171
- Location: /dell/iDRAC/BMC/7.00.00.171/iDRAC-with-Lifecycle-Controller_Firmware_TNYR2_WN64_7.00.00.171_A00.EXE
- Checksum: af251bf09313786705b28ed36c0d1046a69ccb3d93b485d9a88e2e5777c2d005
- Type: bmc
- Version: 7.00.00.171
- Manufacturer: Dell Inc.
- Models: ['PowerEdge R240', 'PowerEdge R440', 'PowerEdge R640', 'PowerEdge R740xd', 'PowerEdge T140']
2024-03-14 18:44:55,780 - Checking checksum...
2024-03-14 18:44:56,426 - iDRAC-with-Lifecycle-Controller_Firmware_TNYR2_WN64_7.00.00.171_A00.EXE: OK
2024-03-14 18:44:56,491 - Done: Updated firmware 3