IP Library Granted Patent US 10,402,204
Granted Patent B1
US 10,402,204 · App. 15/496,864 · Granted Sep 3, 2019

Multi-platform firmware support

Inventors: Sergiy Yakovlev (Johns Creek, GA); Oleksiy Yakovlev (Lawrenceville, GA)
Assignee: American Megatrends International, LLC
G06F9/4401G06F3/065G06F3/0619G06F3/0665G06F3/0679G06F8/654
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,402,204
App. No.
15/496,864
Granted
Sep 3, 2019
Kind
B1
Abstract

A non-transitory computer-readable storage medium storing a multiplatform image which can be used to boot a computer implementing one of a plurality of platforms includes a core firmware volume and one or more platform-specific firmware volumes. The core firmware volume includes common files used by each of the plurality of platforms and at least one file that may be used by some the plurality of platforms but not the others of the plurality of platforms. The one or more platform-specific firmware volumes includes files that are different in at least two of the platforms.

Claims (39)

1. A computer-implemented method comprising:

accessing a plurality of platform-specific firmware images;

comparing first binary content to other binary content of files in the plurality of platform-specific firmware images to identify a first file that is the same in all of the plurality of platform-specific firmware images;

determining that second binary content differs from third binary content in the plurality of platform-specific firmware images to identify a second file having a first version in a first of the plurality of platform-specific firmware images and a second version in a second of the plurality of platform-specific firmware images;

copying the first file to a core firmware volume of a multiplatform image;

copying the first version of the second file to the core firmware volume of the multiplatform image;

copying the second version of the second file to a platform-specific firmware volume of the multiplatform image, the platform-specific firmware volume corresponding to the second of the plurality of platform-specific firmware images; and

modifying the first version of the second file to execute when the multiplatform image is used to boot a computer implementing a platform corresponding to the second of the plurality of platform-specific firmware images.

2. The computer-implemented method of claim 1 further comprising generating a multiplatform driver identifying a plurality of platforms corresponding to the plurality of platform-specific firmware images.

3. The computer-implemented method of claim 2 further comprising copying the multiplatform driver to the multiplatform image.

4. The computer-implemented method of claim 1 further comprising compressing the first file.

5. The computer-implemented method of claim 1 further comprising compressing the first version of the second file.

6. The computer-implemented method of claim 1 further comprising compressing the second version of the second file.

7. The computer-implemented method of claim 1 where modifying the first version of the second file includes adding a dependency identifying a globally unique identifier (GUID) for the platform corresponding to the second of the plurality of platform-specific firmware images.

8. A computer-implemented method comprising:

accessing a plurality of platform-specific firmware images;

identifying a file that is included in a first one of the plurality of platform-specific firmware images and not included in a second one of the plurality of platform-specific firmware images, the identifying comprising comparing binary content of the file to second binary content of respective second files in the first one of the plurality of platform-specific firmware images and in the second one of the plurality of platform-specific firmware images;

storing the file to a core firmware volume of a multiplatform image; and

modifying the file to execute when the multiplatform image is used to boot a computer implementing a platform corresponding to the first one of the plurality platform-specific firmware images from which the file was identified.

9. The computer-implemented method of claim 8 further comprising generating a multiplatform driver identifying a plurality of platforms corresponding to the plurality of platform-specific firmware images.

10. The computer-implemented method of claim 9 further comprising copying the multiplatform driver to the multiplatform image.

11. The computer-implemented method of claim 8 further comprising compressing the file.

12. The computer-implemented method of claim 8 further comprising:

identifying common files that are the same in all of the plurality of platform-specific firmware images; and

copying the common files to the core firmware volume of the multiplatform image.

13. The computer-implemented method of claim 12 further comprising compressing at least some of the common files.

14. The computer-implemented method of claim 8 further comprising:

identifying a differing file that is different in at least two of the plurality of platform-specific firmware images; and

copying the differing file to a plurality of platform-specific firmware volumes corresponding to the at least two of the plurality of platform-specific firmware images.

15. The computer-implemented method of claim 14 further comprising compressing the differing file.

16. The computer-implemented method of claim 8 where modifying the file includes adding a dependency to the file identifying a globally unique identifier (GUID) for the platform corresponding to the one of the plurality platform-specific firmware images.

17. A non-transitory computer-readable storage medium storing a multiplatform image which can be used to boot a computer implementing one of a plurality of platforms, the non-transitory computer-readable storage medium comprising:

a core firmware volume comprising:

a plurality of common files used by each of the plurality of platforms, and

at least one file used by a first one of the plurality of platforms and not a second one of the plurality of platforms, wherein the at least one file includes a dependency expression creating a dependency on a globally unique identifier (GUID) corresponding to the one of the plurality of platforms; and

one or more platform-specific firmware volumes corresponding to a first platform-specific firmware image of one or more platform-specific firmware images, wherein the one or more platform-specific firmware volumes comprise files used by their respective platform, wherein the files in the one or more platform-specific firmware volumes are not used by all of the plurality of platforms.

18. The non-transitory computer-readable storage medium of claim 17 further comprising a multiplatform driver identifying the plurality of platforms.

19. The non-transitory computer-readable storage medium of claim 18 wherein the multiplatform driver identifies a plurality of GUIDs corresponding to the plurality of platforms.

20. The non-transitory computer-readable storage medium of claim 17 wherein a first platform-specific firmware volume of the one or more platform-specific firmware volumes is compressed.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: YAKLOVEV, OLEKSIY; YAKLOVEV, SERGIY
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 043375/0690 →
Cited By (1)
US 12,260,227