shorten ivy_has_common.md

it contains so much useless babble

fix that

Signed-off-by: Leah Rowe <info@minifree.org>
master
Leah Rowe 2024-08-27 04:06:28 +01:00
parent c50c0e1676
commit 87fb10032c
1 changed files with 15 additions and 62 deletions

View File

@ -3,76 +3,29 @@ title: Insert vendor files on Sandybridge/Ivybridge/Haswell
x-toc-enable: true
...
**NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it
contains an Nvidia GPU (Libreboot vendor scripts can insert the VGA ROM)**
This is not a general purpose installation guide, but you *should read it*
before installing Libreboot! *This* guide *must* be followed, no matter what
method you use to install Libreboot; even if you compile from source, you should
still read this page for later reference.
For how to use an external programmer see the [25xx NOR flashing guide](/docs/install/spi.html)
Introduction
============
**PLEASE MAKE SURE you have build dependencies installed first. Although you
do not need to re-compile release ROMs, you should follow these instructions
before reading the instructions below:
<https://libreboot.org/docs/build/#first-install-build-dependencies>**
Please make sure to install [build dependencies](../build/) if following this
guide, and note that this guide assumes you use [lbmk.git](../git.md), not the
release archives, even if you're using release *ROM images*, which is fine.
Coreboot is nominally free software, but requires certain vendor code on some
boards, for certain functionalities; we cover this more thoroughly in
the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob
Reduction Policy](../../news/policy.md).
Well, not all of these files are freely redistributable. Coreboot does provide
vendor files in some cases, if the vendor has allowed it. In other cases,
extraction from factory firmware is required, or you can extract them from
vendor-supplied updates - Libreboot's build system does the latter.
Therefore, you should just follow this guide if in any doubt. Otherwise, the
freedom status page lists all boards that require vendor files, and it says
what they are. This is because Libreboot cannot directly distribute some of them,
but they are extracted from vendor updates at build time, and inserted into
images; when those images are then archived for release, the non-redistributable
filejs are removed.
When you [compile Libreboot ROM images from source](../build/), Libreboot will
automatically download any given files that are required, for any given board
target. This is done without user intervention, and only when absolutely needed
to make the machine boot properly.
The same logic can be used after the fact, to re-download and re-insert these
files; the page that you're reading now will tell you how to do so.
The problem?
------------
Well, if the files cannot be freely redistributed, then we can't provide them.
So how do we handle *that*, in the context of Libreboot releases?
The solution
------------
The answer is very simple: these files are **NOT** provided, at all! However,
the very same logic used by the build system can be run standalone, to re-insert
these vendor files on release ROMs. The `inject` script detects what files are
needed for your ROM image.
The script will detect what board you're inserting on, or you can manually tell
it what board, and it will fetch them for you, inserting them, so that your
board is ready to flash - flashing it without these required files may result in
a brick.
Vendor file locations
--------------
During auto-download of files, they are saved to these locations within the
Libreboot build system:
* ME firmware: `vendor/*/me.bin` - the `*` can be any given directory. Different ones will
be used by given boards, but the directory name may not match the board
target name.
* SMSC SCH5545 fan control firmware (for Dell T1650): `vendor/t1650/sch5545ec.bin` -
ditto 9010/7010 MT/SFF optiplex machines.
* SMSC KBC1126 embedded controller firmware, on HP EliteBooks: `ec/`
* Intel MRC firmware, provides raminit on HP EliteBook 820 G2
The above list refers to the *non-redistributable files*, and these are not
directly included in releases. These are auto-downloaded during the build.
The `me.bin` files are produced by extracting them from vendor updates and
neutering them with `me_cleaner` so that Intel ME is disabled during early boot.
*If in doubt, just follow these instructions anyway; if your board doesn't need
vendor files inserted, nothing will happen. You only need to follow this guide
if you use release ROMs; if you're building directly from source, using the
Libreboot build system, then you can just flash the result.*
Injecting vendor files into ROM
------------------------------------