TODO: Explain why and what is a blob.
In coreboot, over time:
- Some older devices's blobs gets replaced by free software:
- The I945 Thinkpads required a Video BIOS not to have a black screen during boot. Now there is a free software replacement for it.
- Many recent Intel devices required a proprietary software Intel blob to initialize the RAM. Now it has been replaced on many devices by free software.
- Newer x86 devices tend to require more and more blobs:
- Some newer devices depends on the intel FSP blob, which take care of initializing almost everything, leaving almost nothing to do to coreboot.
- On most recent Intel devices, a non-free and signed Management Engine firmware is required.
The ability to replace blobs depends on:
- The availability of documentation and/or source code: With good documentation or source code it is several order of magnitude easier to write free software implementation. Without that, developers have to first understand how the hardware works before writing any code, that can be a very tedious and very long work.
- The ability to run the replacement: Many manufacturers will try to prevent the users from running code not approved by them. If this is the case, the only hope is to find flaws that either permit the user to run the code they wish.
- In some cases, it is also possible to prevent a chip from loading and running code. In the case of the management engine, this is desirable.