File site/docs/install/dell3050.md changed (mode: 100644) (index e5f6e98..c41487e) |
... |
... |
Build ROM image from source |
82 |
82 |
|
|
83 |
83 |
The build target, when building from source, is thus: |
The build target, when building from source, is thus: |
84 |
84 |
|
|
85 |
|
./mk -b coreboot dell3050micro_fsp_16mb |
|
|
85 |
|
./mk -b coreboot dell3050micro_vfsp_16mb |
86 |
86 |
|
|
87 |
87 |
Mate Kukri's *deguard* utility disables the Intel Boot Guard on this |
Mate Kukri's *deguard* utility disables the Intel Boot Guard on this |
88 |
88 |
machine. Libreboot uses this by default, along with `me_cleaner` to provide |
machine. Libreboot uses this by default, along with `me_cleaner` to provide |
|
... |
... |
SMT is rarely of benefit in practise, but can be useful in some circumstances. |
215 |
215 |
For example, if you're compiling a large codebase from source that takes hours, |
For example, if you're compiling a large codebase from source that takes hours, |
216 |
216 |
SMT increases the building speed by about 15 percent; for example, a 3 hour |
SMT increases the building speed by about 15 percent; for example, a 3 hour |
217 |
217 |
build job might take about 2 hours and 40 minutes instead. |
build job might take about 2 hours and 40 minutes instead. |
|
218 |
|
|
|
219 |
|
Intel FSP copyright |
|
220 |
|
=================== |
|
221 |
|
|
|
222 |
|
Abstract |
|
223 |
|
-------- |
|
224 |
|
|
|
225 |
|
The initial Libreboot 20241206 release included Intel FSP directly inside the |
|
226 |
|
ROM images. Intel provides the FSP under a license which states (and I |
|
227 |
|
paraphrase): you must not modify it, but you can redistribute it freely, so |
|
228 |
|
long as the license notice is retained. |
|
229 |
|
|
|
230 |
|
The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically |
|
231 |
|
does CAR, S is essentially romstage components, and M is raminit. Due to how |
|
232 |
|
coreboot works, these components must be split into single components. Coreboot |
|
233 |
|
doesn't use T by default (it implements CAR itself), but has the option to |
|
234 |
|
use it. It will use M and S, only. |
|
235 |
|
|
|
236 |
|
Technically, the process of splitting FSP into these three files counts as |
|
237 |
|
a modification. Furthermore, coreboot also rebases the M module by modifying |
|
238 |
|
certain pointers, so that it can integrate with coreboot to provide raminit. |
|
239 |
|
|
|
240 |
|
Intel *themselves* own the copyright to the tool for splitting FSP, |
|
241 |
|
at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for |
|
242 |
|
the FSP to be used this way. However, until now, those using the Intel FSP |
|
243 |
|
have built coreboot images from source, so the issue of modified distributions |
|
244 |
|
didn't come up. |
|
245 |
|
|
|
246 |
|
By the strictest possible interpretation of Intel's licensing, Libreboot was |
|
247 |
|
technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and |
|
248 |
|
newer, will no longer include the Intel FSP inside images. Instead, the vendor |
|
249 |
|
inject script is used for inserting the FSP into release images, which is what |
|
250 |
|
we already do for several other components. |
|
251 |
|
|
|
252 |
|
`_fsp` vs `_vfsp` targets |
|
253 |
|
------------------------- |
|
254 |
|
|
|
255 |
|
The original 20241206 release images had `_fsp` in the file name. From rev8 |
|
256 |
|
onward, `_vfsp` is specified instead. |
|
257 |
|
|
|
258 |
|
Libreboot's inject script verifies checksums on files, when inserting into the |
|
259 |
|
images. Because of this, if we inject FSP after the fact, that means anyone |
|
260 |
|
using the old images will find errors when they try. |
|
261 |
|
|
|
262 |
|
To mitigate this, the build targets containing `_fsp` in the name have been |
|
263 |
|
retained, but these targets are set `release="n"` so that no ROM images are |
|
264 |
|
provided in releases. The `_vfsp` images are provided pre-compiled, instead. |
|
265 |
|
|
|
266 |
|
With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still |
|
267 |
|
reliably inject Intel ME into the old `_fsp` images, if you already downloaded |
|
268 |
|
those before. |
|
269 |
|
|
|
270 |
|
Therefore, you must be especially careful to get this right. If you're running |
|
271 |
|
the inject script into a tarball, it will generally detect the right one, but |
|
272 |
|
inserting manually into individual image files is also possible; if you do this, |
|
273 |
|
you must remember to correctly specify `dell3050micro_vfsp_16mb`, |
|
274 |
|
or to specify the `_fsp` targets if you're doing this on older images. |
|
275 |
|
|
|
276 |
|
It is extremely unlikely that Intel would have ever cracked down on Libreboot |
|
277 |
|
for its previous mistake, since many other projects exist that include FSP |
|
278 |
|
directly in coreboot images, even commercially. However, Libreboot wishes to |
|
279 |
|
respect Intel's license, in the |
|
280 |
|
most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way |
|
281 |
|
possible. |
File site/docs/install/t480.md changed (mode: 100644) (index c442125..33d1fad) |
... |
... |
Please refer to the standard [build instructions](../build/) first. |
127 |
127 |
|
|
128 |
128 |
The build target, when building from source, is thus: |
The build target, when building from source, is thus: |
129 |
129 |
|
|
130 |
|
./mk -b coreboot t480_fsp_16mb |
|
131 |
|
./mk -b coreboot t480s_fsp_16mb |
|
|
130 |
|
./mk -b coreboot t480_vfsp_16mb |
|
131 |
|
./mk -b coreboot t480s_vfsp_16mb |
132 |
132 |
|
|
133 |
133 |
**NOTE: The T480 and T480s may be similar, but they do have several critical |
**NOTE: The T480 and T480s may be similar, but they do have several critical |
134 |
134 |
differences in their wiring, so you MUST flash the correct image. Please |
differences in their wiring, so you MUST flash the correct image. Please |
|
... |
... |
git add config/coreboot/t480s_fsp_16mb/ |
518 |
518 |
git commit -s -m "experimental/unstable t480 thunderbolt support" |
git commit -s -m "experimental/unstable t480 thunderbolt support" |
519 |
519 |
``` |
``` |
520 |
520 |
|
|
|
521 |
|
**NOTE: With the above change, or if using the branch referenced below, |
|
522 |
|
the build targets will be `t480_fsp_16mb` and `t480s_fsp_16mb`, |
|
523 |
|
not `t480_vfsp_16mb` and `t480s_vfsp_16mb`; see notes regarding fsp/vfsp |
|
524 |
|
elsewhere on this page. This branch also does not contain other fixes from |
|
525 |
|
Libreboot 20231206 rev8/newer, since it's based on 20241206 rev2. A rebase will |
|
526 |
|
not be conducted; instead, ThunderBolt PCI-E support will simply be added in |
|
527 |
|
a subsequent release, and revision to the 20241206 release.** |
|
528 |
|
|
521 |
529 |
You can now follow standard [build instructions](../build/). |
You can now follow standard [build instructions](../build/). |
522 |
530 |
|
|
523 |
531 |
The branch named `20241206-t480-thunderbolt-unstable` already has the above |
The branch named `20241206-t480-thunderbolt-unstable` already has the above |
|
... |
... |
If you encounter this issue, check\ |
551 |
559 |
[this page](../../faq.md#thinkpad-acpi) |
[this page](../../faq.md#thinkpad-acpi) |
552 |
560 |
for details as to how to fix this. |
for details as to how to fix this. |
553 |
561 |
|
|
|
562 |
|
Intel FSP copyright |
|
563 |
|
=================== |
|
564 |
|
|
|
565 |
|
Abstract |
|
566 |
|
-------- |
|
567 |
|
|
|
568 |
|
The initial Libreboot 20241206 release included Intel FSP directly inside the |
|
569 |
|
ROM images. Intel provides the FSP under a license which states (and I |
|
570 |
|
paraphrase): you must not modify it, but you can redistribute it freely, so |
|
571 |
|
long as the license notice is retained. |
|
572 |
|
|
|
573 |
|
The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically |
|
574 |
|
does CAR, S is essentially romstage components, and M is raminit. Due to how |
|
575 |
|
coreboot works, these components must be split into single components. Coreboot |
|
576 |
|
doesn't use T by default (it implements CAR itself), but has the option to |
|
577 |
|
use it. It will use M and S, only. |
|
578 |
|
|
|
579 |
|
Technically, the process of splitting FSP into these three files counts as |
|
580 |
|
a modification. Furthermore, coreboot also rebases the M module by modifying |
|
581 |
|
certain pointers, so that it can integrate with coreboot to provide raminit. |
|
582 |
|
|
|
583 |
|
Intel *themselves* own the copyright to the tool for splitting FSP, |
|
584 |
|
at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for |
|
585 |
|
the FSP to be used this way. However, until now, those using the Intel FSP |
|
586 |
|
have built coreboot images from source, so the issue of modified distributions |
|
587 |
|
didn't come up. |
|
588 |
|
|
|
589 |
|
By the strictest possible interpretation of Intel's licensing, Libreboot was |
|
590 |
|
technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and |
|
591 |
|
newer, will no longer include the Intel FSP inside images. Instead, the vendor |
|
592 |
|
inject script is used for inserting the FSP into release images, which is what |
|
593 |
|
we already do for several other components. |
|
594 |
|
|
|
595 |
|
`_fsp` vs `_vfsp` targets |
|
596 |
|
------------------------- |
|
597 |
|
|
|
598 |
|
The original 20241206 release images had `_fsp` in the file name. From rev8 |
|
599 |
|
onward, `_vfsp` is specified instead. |
|
600 |
|
|
|
601 |
|
Libreboot's inject script verifies checksums on files, when inserting into the |
|
602 |
|
images. Because of this, if we inject FSP after the fact, that means anyone |
|
603 |
|
using the old images will find errors when they try. |
|
604 |
|
|
|
605 |
|
To mitigate this, the build targets containing `_fsp` in the name have been |
|
606 |
|
retained, but these targets are set `release="n"` so that no ROM images are |
|
607 |
|
provided in releases. The `_vfsp` images are provided pre-compiled, instead. |
|
608 |
|
|
|
609 |
|
With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still |
|
610 |
|
reliably inject Intel ME into the old `_fsp` images, if you already downloaded |
|
611 |
|
those before. |
|
612 |
|
|
|
613 |
|
Therefore, you must be especially careful to get this right. If you're running |
|
614 |
|
the inject script into a tarball, it will generally detect the right one, but |
|
615 |
|
inserting manually into individual image files is also possible; if you do this, |
|
616 |
|
you must remember to correctly specify `t480_vfsp_16mb` or `t480s_vfsp_16mb`, |
|
617 |
|
or to specify the `_fsp` targets if you're doing this on older images. |
|
618 |
|
|
|
619 |
|
It is extremely unlikely that Intel would have ever cracked down on Libreboot |
|
620 |
|
for its previous mistake, since many other projects exist that include FSP |
|
621 |
|
directly in coreboot images, even commercially. However, Libreboot wishes to |
|
622 |
|
respect Intel's license, in the |
|
623 |
|
most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way |
|
624 |
|
possible. |