Device firmware descriptors
AssigneeHewlett-Packard Development Company, L.P.
InventorsKang-Ning Feng, Ming Chang Hung, Reily Chang
Life of this patent
Estimating the term…
Abstract
Examples of updating a device firmware of an electronic device, based on a firmware update are described. The device firmware may include a device firmware volume comprising a plurality of device firmware files and a device firmware descriptor corresponding to content of the device firmware volume. The firmware update may also include a firmware update volume comprising a plurality of updated firmware files, and a firmware update descriptor comprising a hash value of content of the firmware update volume. Further, the device firmware volume may be updated based on a comparison between the hash value of the firmware update volume with the corresponding hash value of the device firmware volume.
Claims20
An electronic device comprising:
- electronic circuitry to:
- store a device firmware of the electronic device in a plurality of programmable segments;
- receive a firmware update for the electronic device, the firmware update further comprising a firmware update volume having a plurality of updated firmware files;
- obtain a firmware update descriptor corresponding to the firmware update volume, the firmware update descriptor comprising a hash value of the firmware update volume and a plurality of sub-hash values of the updated firmware files;
- compare the hash value of the firmware update volume with a corresponding hash value of the device firmware volume, the hash value of the device firmware volume being specified within a device firmware descriptor;
- in response to a determination that the hash value of the firmware update volume and the hash value of the device firmware volume do not match, compare the plurality of sub-hash values of the updated firmware files with a corresponding plurality of sub-hash values of device firmware files, on a segment-by-segment basis for the plurality of programmable segments;
- in response to a determination that a sub-hash value of the updated firmware files and a sub-hash value of the device firmware files do not match, cause an update of a corresponding programmable segment of the device firmware volume;
- and
- in response to an indication that a programmable segment is empty, skip a comparison of the sub-hash value of the device firmware files to the sub-hash value of the updated firmware files for the empty segment.
An electronic device, comprising:
- memory to store device firmware for the electronic device, the device firmware comprising:
- a device firmware volume comprising a plurality of programmable sectors, the plurality of programmable sectors storing device firmware files;
- and
- a device firmware descriptor corresponding to the device firmware volume, the device firmware descriptor comprising a hash value of the device firmware volume;
- and a processing resource including a processor to:
- receive a firmware update to update the device firmware for the electronic device, the firmware update comprising a firmware update volume comprising a plurality of updated firmware files respectively corresponding to the plurality of programmable sectors;
- obtain a firmware update descriptor corresponding to the firmware update volume, the firmware update descriptor comprising a hash value of the firmware update volume;
- compare the hash value of the device firmware volume to the hash value of the firmware update volume;
- in response to a determination that the hash value of the device firmware volume does not match the hash value of the firmware update volume, obtain a plurality of sub-hash values corresponding to the device firmware files and a plurality of sub-hash values corresponding to the updated firmware files;
- on a sector-by-sector basis, compare the plurality of sub-hash values of the device firmware files to the plurality of sub-hash values of the updated firmware files;
- in response to an indication that a programmable sector of the plurality of programmable sectors is empty, skip a comparison of a sub-hash value of the device firmware files to a sub-hash value of the updated firmware files for the empty sector;
- and
- in response to a determination that the sub-hash value of a respective device firmware file does not match the sub-hash value of a corresponding updated firmware file, cause an update of the respective device firmware file based on the corresponding updated firmware file.
A non-transitory computer-readable medium comprising instructions executable by a processing resource to:
- obtain a firmware update to update a device firmware within a memory of a computing device, the firmware update comprising a firmware update volume having a plurality of updated firmware files, the device firmware being stored in a plurality of programmable sectors;
- obtain a firmware update descriptor from the firmware update volume, the firmware update descriptor comprising a hash value of the firmware update volume;
- obtain a device firmware descriptor associated with the device firmware, the device firmware descriptor comprising a hash value of a device firmware volume of the memory of the computing device;
- compare the hash value of the firmware update volume with the hash value of the device firmware volume;
- in response to a determination that the hash value of the firmware update volume does not match the hash value of the device firmware volume, obtain a plurality of sub-hash values corresponding to a plurality of components of the firmware update and a plurality of sub-hash values corresponding to a plurality of components of the device firmware;
- on a sector-by-sector basis, compare the plurality of sub-hash values of the components of the firmware update to the plurality of sub-hash values of the components of the device firmware;
- in response to an indication that a programmable sector of the plurality of programmable sectors is empty, skip a comparison of sub-hash values corresponding to the empty sector;
- and
- in response to a determination that the sub-hash value of a respective component of the firmware update does not match the sub-hash value of a corresponding component of the device firmware, cause an update of a programmable segment of the plurality of programmable sectors corresponding to the component of the device firmware.
Dependencies are inferred from the claim text.