Skip to content

Commit 561ceda

Browse files
authored
Merge pull request #664 from Dasharo/blobs-faq
introduction.md: blobs FAQ
2 parents 20e0a18 + 6b6f218 commit 561ceda

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

docs/osf-trivia-list/introduction.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,50 @@ TODO: Explain how wrong is this question and why often there is no answer to it
2222
on mailing list.
2323
2424
-->
25+
26+
## `[OSFTQL0003]` Binary blobs - what are they? What do we need them for?
27+
28+
Binary blobs are a term referring to proprietary, closed-source software
29+
components. They are called "blobs" because, unlike open-source code, you can't
30+
see their internal structure, nor verify their security; they are an
31+
undifferentiated mass (or "blob") of binary data. While often frowned upon in
32+
the Open Source community for being inauditable and suspicious, some are
33+
required by coreboot for most of the recent platforms.
34+
Here are some common types of binary blobs you might encounter when working
35+
with coreboot:
36+
37+
* **CPU Microcode:**
38+
- Modern CPUs often require microcode updates to fix bugs or security
39+
vulnerabilities. These microcode updates are usually distributed as binary
40+
blobs.
41+
42+
* **Memory Initialization:**
43+
- Some platforms require binary blobs for memory initialization. The code
44+
that sets up the RAM is sometimes provided only in binary form by the
45+
hardware manufacturer.
46+
47+
* **Video BIOS:**
48+
- The video BIOS (VBIOS) is a piece of firmware that initializes the
49+
graphics hardware. In some cases, the VBIOS might be required to get
50+
graphical output during the boot process.
51+
52+
* **Management Engine (ME) Firmware (Intel platforms):**
53+
- Intel's Management Engine is a controversial component required for
54+
Intel systems to boot. It requires a binary blob.
55+
56+
* **Platform Security Processor (PSP) Firmware (AMD platforms):**
57+
- Similar to Intel's ME, AMD's Platform Security Processor (PSP) requires
58+
binary firmware to function.
59+
60+
* **Firmware Support Package (FSP) (Intel platforms):**
61+
- Intel provides a Firmware Support Package (FSP) which is a binary blob
62+
used to initialize the processor, memory, and chipset on some Intel
63+
platforms.
64+
65+
* **Embedded Controller (EC) Firmware:**
66+
- The firmware for the embedded controller (which handles things like
67+
power management, fan control, etc.) may also be a binary blob.
68+
69+
To see in fine detail which are required for your platform of interest,
70+
please refer to
71+
[this coreboot wiki page](https://www.coreboot.org/Binary_situation).

0 commit comments

Comments
 (0)