@@ -22,3 +22,50 @@ TODO: Explain how wrong is this question and why often there is no answer to it
2222on 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