shorten ivy_has_common.md
it contains so much useless babble fix that Signed-off-by: Leah Rowe <info@minifree.org>master
parent
c50c0e1676
commit
87fb10032c
|
@ -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
|
||||
------------------------------------
|
||||
|
|
Loading…
Reference in New Issue