Patent ID: 8707297

Claim:
A method for installing firmware on a hardware subsystem of an information handling system (IHS) using a package management system, the method comprising: executing at least a portion of a first operating system (OS); executing a firmware inventory program on the first OS to: perform a firmware inventory on the IHS to identify firmware installed on the IHS and to identify firmware versions respectively associated with the firmware, wherein a firmware is executable code embedded in the hardware subsystem, and wherein the firmware inventory includes dependencies of firmware updates of the firmware versions on a version of the package management system; executing, from the package management system, a first utility program on the first OS to: query a remote repository for firmware packages corresponding to the firmware updates identified in the firmware inventory, wherein the remote repository stores firmware packages compatible with installer programs for a plurality of OSs including the first OS, wherein a firmware package includes at least one firmware update and at least one firmware update tool, and wherein a firmware package includes a field specifying at least one dependency specifying a required version of the package management system; and responsive to the querying, download, from the remote repository to an IHS storage, a first firmware package corresponding to the first OS, wherein the first firmware package corresponds to the hardware subsystem of the IHS; and executing, from the package management system, a second utility program on the first OS to: using a firmware update and a firmware update tool included in the first firmware package, create a firmware installer that is executable on the first OS; and upon verifying that the required version of the package management system corresponds to the package management system, use the package management system to execute the firmware installer on the first OS, wherein the firmware installer updates the firmware for the hardware subsystem of the IHS, wherein the remote repository stores firmware packages that include an IHS hardware subsystem identifier.