System and device firmware updates via a firmware driver package
Deploying a firmware update using a firmware driver package follows a relatively simple process that can be divided into three phases:
- Author a firmware update package.
- Certify and sign the update package.
- Install the update.
The following diagram shows this process in greater detail.
This process assumes that the UEFI firmware update payload has already been developed, tested, and signed.
- The firmware driver package simply contains the payload for a firmware update and allows the firmware update payload to be distributed in the same manner as all Windows drivers.
- After the driver package has been deployed to a system, the firmware update payload is passed to platform firmware via the UEFI UpdateCapsule service.
- Upon receipt of the firmware update payload, platform firmware recognizes the payload and applies the update.
- The implementation of the platform firmware update code is proprietary, as is the format of the firmware update payload.
A device driver package contains an INF file describing the devices to which the package applies. A firmware driver package is the same. Devices and system firmware resources supporting this update mechanism must uniquely identify themselves to bind to a firmware driver package. The next section describes the identification mechanism.