Firmware updates using updated firmware files in a dedicated firmware volume
First Claim
1. A computer-implemented method for updating firmware file system (FFS) file, the method comprising:
- identifying, by one or more processors, a first FFS file during boot-up of a computing system, the first FFS file being stored in a first firmware volume within a non-volatile memory included in the computing system;
identifying, by the one or more processors, during the boot-up of the computing system, a first identifier that identifies the first FFS file;
determining, by the one or more processors, during the boot-up of the computing system, that a second FFS file is identified by the first identifier and is stored in a second firmware volume within the non-volatile memory, wherein the second firmware volume being separate from the first firmware volume, and the second FFS file is an updated version of the first FFS file;
determining, by the one or more processors, using a launch list and the first identifier, that the second FFS file is to be launched during boot-up of the computing system, wherein the launch list identifies whether a updated version of a particular FFS file is allowed to be executed when the updated version of the particular FFS file is detected; and
executing, by the one or more processors, based at least in part on the determining that the second FFS file is identified by the first identifier and the launch list identifies the second FFS file is allowed to be executed, instructions contained in the second FFS file during the boot-up of the computing system.
4 Assignments
0 Petitions
Accused Products
Abstract
Technologies are disclosed herein for updating a firmware file system (FFS) file by preserving the original FFS file in its current firmware volume and then storing an updated version of the original FFS file in a firmware volume for updated FFS files. The updated FFS file may be stored in the firmware volume for updated FFS files referenced to the same FFS file identifier as the original FFS file. During boot-up of a system incorporating the updated firmware, the firmware volume for updated FFS files may be accessed to determine if an updated version of any FFS files are present. If updated FFS files are present, then those updated FFS files may be executed, rather than the original FFS files.
5 Citations
19 Claims
-
1. A computer-implemented method for updating firmware file system (FFS) file, the method comprising:
-
identifying, by one or more processors, a first FFS file during boot-up of a computing system, the first FFS file being stored in a first firmware volume within a non-volatile memory included in the computing system; identifying, by the one or more processors, during the boot-up of the computing system, a first identifier that identifies the first FFS file; determining, by the one or more processors, during the boot-up of the computing system, that a second FFS file is identified by the first identifier and is stored in a second firmware volume within the non-volatile memory, wherein the second firmware volume being separate from the first firmware volume, and the second FFS file is an updated version of the first FFS file; determining, by the one or more processors, using a launch list and the first identifier, that the second FFS file is to be launched during boot-up of the computing system, wherein the launch list identifies whether a updated version of a particular FFS file is allowed to be executed when the updated version of the particular FFS file is detected; and executing, by the one or more processors, based at least in part on the determining that the second FFS file is identified by the first identifier and the launch list identifies the second FFS file is allowed to be executed, instructions contained in the second FFS file during the boot-up of the computing system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for updating firmware file system (FFS) file, the apparatus comprising:
-
at least one processor; and a computer-readable non-volatile memory, having instructions stored thereon that are executed by the at least one processor to; identify a first FFS file and a first identifier corresponding to the first FFS file during boot-up of a computing system, the first FFS file being stored in a first firmware volume within a non-volatile memory of the computing system; determine, during the boot-up of the computing system, a second FFS file stored in a second firmware volume within the non-volatile memory, the second FFS file being identified by the first identifier, wherein the second firmware volume being separate from the first firmware volume, and the second FFS file is an updated version of the first FFS file; determine, using a launch list and the first identifier, that the second FFS file is to be launched during the boot-up of the computing system, wherein the launch list identifies whether a updated version of a particular FFS file is allowed to be executed when the updated version of the particular FFS file is detected; and execute, based at least in part on determining the second FFS file is identified by the first identifier and the launch list identifies the second FFS file is allowed to be executed, second instructions contained in the second FFS file during the boot-up of the computing system. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium having instructions stored for updating firmware file system (FFS) file, the instructions thereupon which, when executed by a processor, cause the processor to:
-
identify, during boot-up of a computing system, a first FFS file stored in a first firmware volume within a non-volatile memory included in the computing system; identify, during the boot-up of the computing system, a first identifier that identifies the first FFS file; determine, during the boot-up of the computing system, a second FFS files corresponding to the first identifier are stored in a second firmware volume within the non-volatile memory, wherein the second firmware volume being separate from the first firmware volume, and the second FFS file is an updated version of the first FFS file; determine, using a launch list and the first identifier, that the second FFS file is not allowed to be launched during boot-up of the computing system, wherein the launch list identifies whether a updated version of a particular FFS file is allowed to be executed when the updated version of the particular FFS file is detected; and execute, based at least in part on determining that the second FFS files corresponding to the first identifier and the launch list identifies the second FFS file is not allowed to be executed, instructions contained in the first FFS file during boot-up of a computing system that includes the non-volatile memory. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification