firmware-tools is an architecture that utilizes native Linux packaging formats (.rpm and .deb) and native Linux change management frameworks (yum, apt, etc) for delivering and installing system firmware. firmware-tools architecture is OS distribution, hardware vendor, device, and change management system agnostic.
The architecture is easy as PIE: splitting Payload, Inventory, and Executable components into separate packages, using package format Requires/Provides language to handle dependencies at a package installation level, and using matching Requires/Provides language to handle runtime dependency resolution and installation ordering.
The framework then provides unifying applications such as inventory_firmware and apply_updates that handle runtime ordering of inventory, execution, and conflict resolution/ notification for all of the plug-ins. These are the commands a system administrator runs. Once all of the separate payload, inventory, and execution packages are in package manager format, and are put into package manager repositories, then standard tools can retreive, install, and execute them:
# yum install $(inventory_firmware -b)
What's New in This Release:
· Initial stable proposed API and initial CLI.
· Several small typos for names of commands have been fixed.
· Tested with the first public release of firmware-addon-dell for updating select Dell system BIOSs across Dell servers, desktops, and laptops.