Merge branch 'master' of v-t60/lbwww into master

hslick-master
Leah Rowe 2023-04-09 11:51:14 +00:00 committed by Gogs
commit 3da84b4b2f
2 changed files with 176 additions and 19 deletions

View File

@ -0,0 +1,157 @@
---
title: Спільне Ivybridge/Haswell
x-toc-enable: true
...
Для як використовувати зовнішній програматор дивіться [керівництво прошивання 25xx NOR](/docs/install/spi.html)
Intel Flash Descriptor означує, що перші 5Мб з 12Мб завантажувальної флеш-пам'яті складається з
регіонів Intel Flash Descriptor, GbE та Intel ME. Фінальні 7Мб тої
12Мб флеш-пам'яті є регіоном BIOS. Однак, ця 12Мб флеш-пам'ять є фізично розділеною
на флеш-пам'ять 8Мб NOR та флеш-пам'ять 4Мб NOR flash; операційна система бачить продовжувані 12Mб флеш-
пам'яті, з нижчою частиною, яка є вмістом флеш-пам'яті 8Мб NOR та вищим
вмістом, що є флеш-пам'ять 4Мб NOR.
Не хвилюйтесь надто багато про те, до якого флеш-чіпа ваш програматор під'єднано.
Flashrom вийде з ладу, якщо ви спробуєте прошити образ з неправильним розміром для чіпа, до якого ви
під`єднані.
Образи libreboot, випущені або побудовані для плат haswell або ivybridge ідуть як образи 12/16Мб.
Розмір образа в питанні посилається на загальний розмір *обох* чипів.
В порядку для того, щоб прошити повний образ зовнішньо, ви маєте поділити образ на дві секції для вміщення в розмір двох чипів, які ви бажаєте прошити.
Це керівництво покаже приклади для Thinkpad X230, але вся інформація буде застосована для інших плат.
Плати Ivybridge вимагають *хоча би* intel management engine в порядку для завантаження.
Плати Haswell додатково вимагають блоб mrc.
Ні один з цих блобів не є перерозповсюджуваним, тому образи для цих плат має бути побудовано з джерельного коду або виправлені з затребуваними блобами.
Якщо ви плануєте прошити rom випуску для вашої плати, тоді ви потребуєте лише виправити існуючий rom.
Альтернативно, ви можете спробувати побудувати rom з джерельного коду для вашої плати.
Внутрішнє прошивання
-----------------
Для ivybridge конкретно (тобто, thinkpad X230, T430) на Lenovo ThinkPad,
можливо прошитись з мікропрограмного забезпечення постачальника до Libreboot, без використання
кліпси, але деякий розбір досі потрібен. Це може бути вигідно, якщо ви
хочете заощадити кошти за допомогою некупівлі обладнання для зовнішньої прошивки. Все, що вам потрібно,
це металевий пінцет або щось подібне, за допомогою якого можна створити коротке
замикання між двома провідниками.
Дивіться: [внутрішнє прошивання ivybridge](ivy_internal.md)
Отримання бінарних блобів
----------------------
Якщо ви побудували ваш rom з джерельного коду, тоді всі блоби загалом завантажено автоматично.
Деякі плати, однак, не мають джерел для всіх блобів і вимагають ручного вилучення блобів.
Якщо ви пробуєте побудувати rom з джерельного коду та lbmk виходить з ладу при розміщенні блобів, ви може вилучити їх з існуючої резервної копії rom.
Щоб зробити це, почніть з отримання повної резервної копії rom для вашої машини.
Після того, як ви підключили програматор і зчитали обидва флеш-чіпи, вам доведеться об'єднати два образи в якості одного rom.
Загалом, образ 4Мб є верхнім і образ 8Мб є нижнім.
Для створення файлу rom, придатного для читання, просто виконайте конкатенацію обох файлів.
cat bottom.rom top.rom > full_backup.bin
Створивши резервну копію rom постачальника, ви можете використати lbmk для автоматичного вилучення потрібних блобів.
Сценарій вилучення блобів приймає ім'я плати в якості першого аргумента та шлях до rom в якості другого аргумента.
Наприклад, ось те, як би ви вилучили блоби з резервної копії rom x230.
./blobutil extract x230_12mb full_backup.bin
Майте на увазі, що команда зверху має бути виконана з кореня директорії lbmk.
Дивіться [інструкції побудови](/docs/build/index.uk.html) для більших подробиць.
Введення блобів в існуючий образ
------------------------------------
Образи випусків не можуть включати конкртні блоби з юридичних причин.
Тому ви **не можете** напряму прошити образ випуску на свою плату.
Ви маєте виправити rom випуску необхідними блобами *і потім* прошити їх на свою плату.
Lbmk включає сценарій, який автоматично введе необхідні блоби в файл rom.
Сценарій може визначити плату в автоматичному режимі, якщо ви не змінили ім'я, але ви можете також встановити
ім'я плати самостійно з використанням флага `-b`.
В порядку для введення необхідних блобів в образ rom, виконайте сценарій з кореня lbmk та вкажіть на образ rom.
Наприклад:
./blobutil inject -r x230_libreboot.rom -b x230_12mb
Опціонально, ви можете використовувати цей сценарій для модифікації mac-адреси rom з флагом `-m`.
Наприклад:
./blobutil inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
**ПРИМІТКА: Машини Haswell ідуть з `mrc.bin` або без, залежно від
конфігурації образа ROM. Ці конфігураційні файли ROM мають `mrc.bin`: `t440pmrc_12mb`
та `w541mrc_12mb`. Ці конфігураційні файли ROM мають вільний MRC: `t440p_12mb`
та `w541_12mb` - критичним є те, щоб вибрати правильний, коли використовуєте
флаг `-b` в команді `blobutil inject`. Наприклад, якщо ви
використали `-b t440p_12mb` на образі ROM, який насправді відповідає
`t440pmrc_12mb`, тоді затребуваний файл `mrc.bin` не буде додано
і той ROM не завантажиться після прошивання.**
**ПРИМІТКА: В архіві src Libreboot 20230319 або git tag, метод `blobutil`
зламано на конфігураційних файлах Haswell, які вимагають `mrc.bin`, тому він
не введе `mrc.bin` на правильному офсеті. Це було виправлено в ревізіях після
випуску, і буде доступно в наступному випуску після цього. Прочитайте
[оголошення оновлення Libreboot
20230319](../../news/libreboot20230319_update.md) для більшої інформації.**
ПРИМІТКА: редактор MAC використовує `nvmutil`, про який ви можете прочитати більше в
[документації nvmutil](nvmutil.md).
**УВАГА: Це поламано в архіві src Libreboot 20221214. Він виходить з ладу при
спробі використання cbfstool, в зв'язку з проблемною перевіркою в сценарії. Це виправлено в
нещодавніх випусках Libreboot або ревізіях. Виправлення
наступне:
Відредагуйте рядок 137 в `resources/scripts/blobs/inject`. Рядок в 20221214 каже
це:
make -C cd coreboot/default/util/cbfstool || Fail 'could not build ifdtool'
Модифікуйте його казати це:
make -C coreboot/default/util/cbfstool || Fail 'could not build cbfstool'
ТАКОЖ:
*Коли створюєте MAC-адресу*, той самий сценарій намагається побудувати `nvmutil`
з `/util/nvmutil`, в Libreboot 20221214. Це було знайдено 10 січня
2023 року, засновуючий на звітах користувачів на IRC. Виправіть це подібним чином (вже виправлено, в останньому
Libreboot з Git):
Рядок 30, він каже:
make -C /util/nvmutil || Fail 'failed to build nvmutil'
Змініть його казати:
make -C util/nvmutil || Fail 'failed to build nvmutil'
До того часу, поки це не буде відредаговано відповідним чином, сценарій введення *вийде* з не-нульовим
статусом, та блоби не буде введено.
Це було виправлено, в наступних після Libreboot 20221214 випусках, але ви маєте
застосувати виправлення самостійно, якщо використовуєте *той* випуск.
Розділення Rom
-----------------
Ви можете використовувати `dd` для легкого розділення вашого rom на дві окремі порції для
зовнішнього прошивання.
Наприклад, таким чином ви би поділили rom 12Мб для встановлення:
dd if=libreboot.rom of=top.rom bs=1M skip=8
dd if=libreboot.rom of=bottom.rom bs=1M count=8
Ви би потім прошили чип 4Мб з `top.rom` та чип 8Мб з `bottom.rom`.
Для більшого образа rom, та ж сама логіка була би застосована.
В dd `skip` означає, що ви бажаєте, щоб програма проігнорувала перші n блоків, де
`count` означає, що ви хочете, щоб вона зупинила запис після n блоків.
Коли ваш образ rom поділено, ви можете перейти до [прошивання.](/docs/install/spi.html)

View File

@ -44,7 +44,7 @@ Libreboot досі має суворі стандарти про те, *які*
В цій статті ви вивчите всі шляхи (на практиці), якими Libreboot
реалізовує цю *політику зменшення блобів*, особливо в тому рядку в ній, який каже,
цитати, "якщо блоб можна уникнути, його необхідно уникнути".
цитата, "якщо блоб можна уникнути, його необхідно уникнути".
Чому це має значення?
---------------------
@ -69,7 +69,7 @@ Libreboot досі має суворі стандарти про те, *які*
*Політика* проекта Libreboot, в межах цієї мети, надання такої
підтримки апаратного забезпечення з якомога *меншою* можливою кількостю двійкових блобів, в ідеалі *відсутньою*, як
у видку з багатьма конфігураціями, які підтримує Libreboot. Libreboot *спробує*
у випадку з багатьма конфігураціями, які підтримує Libreboot. Libreboot *спробує*
підтримувати будь-яку дану одиницю апаратного забезпечення, навіть у випадках, де *повна*
свобода програмного забезпечення не є можливою; наприклад, якщо coreboot вимагає блоб для
raminit на даній платі, блоб було би надано Libreboot.
@ -123,8 +123,8 @@ Libreboot підтримує декілька материнських плат,
Що означає *дескриптор*? Гаразд, традиційно, основна флеш інтегральна мікросхема (яка містить
завантажувальну прошивку, зазвичай на яку посилаються як на *BIOS*) на машинах Intel,
містила тільки виконуваний код *x86*, який відповідає за ініціалізацію всього
апаратного забезпечення, такого як ЦП, контролер пам'яті та периферії. Це те, що
ми будемо називате *бездескрипторне* налаштування; в таких конфігураціях,
апаратного забезпечення, такого як ЦП, контролер пам'яті та периферія. Це те, що
ми будемо називати *бездескрипторне* налаштування; в таких конфігураціях,
прошивка Intel ME є відсутньою за замовчуванням.
В *дескрипторному* налаштуванні, флеш поділений на регіони, такі як:
@ -136,7 +136,7 @@ Libreboot підтримує декілька материнських плат,
* Intel GbE NVM (неволатильна пам'ять gigabit ethernet): закодовані двійково
конфігураційні дані, для пристроя Intel gigabit ethernet на платі, якщо такий
є присутнім. Вона містить багато налаштувань, таких як MAC-адреса, на якій швидкості мережева карта
має працювати, PCI ID, *швидкісті мерехтіння LED* та більше.
має працювати, PCI ID, *швидкість мерехтіння LED* та більше.
Якщо використовується мережева карта не Intel, цей флеш-регіон не буде присутнім.
* ME (Intel Management Engine): *брудний* недолік безпеки в своєму стані
за замовчуванням, ME надає багато функцій, таких як віддалене керування, з повним
@ -146,7 +146,7 @@ Libreboot підтримує декілька материнських плат,
частих запитаннях](faq.uk.md#intelme) - там де в іншому випадку прошивка ME є присутньою, Libreboot
або видаляє її, або (за допомогою програми `me_cleaner`) переналаштовує її таким
чином, що його вимкнено в процесі ініціалізації машини.
* Регіон платформи: непрограмні дані, зазвичай просто купа рядків розміщено тут
* Регіон платформи: непрограмні дані, зазвичай просто купа рядків розміщена тут
продавцем апаратного забезпечення.
* Регіон BIOS: цей містить основну завантажувальну прошивку, відповідальну за
ініціалізацію ЦП, контролера пам'яті та периферії, призводячи
@ -161,7 +161,7 @@ Libreboot підтримує декілька материнських плат,
На деяких новіших дескрипторних платформах Intel, існує більше регіонів, ніж
ці. В деяких випадках, *[вбудований
контролер](faq.uk.md#прошивка-ec-вбудований-контролер)* (EC) може також
бути в своєму власному гіоні на завантажувальній флеш-пам'яті; щонайменш, наразі, це не є
бути в своєму власному регіоні на завантажувальній флеш-пам'яті; щонайменш, наразі, це не є
актуальним ні на якому апаратному забезпеченні, яке підтримує Libreboot (натомість, це зберігається
на окремій інтегральній мікросхемі).
@ -208,7 +208,7 @@ Git, ні в випусках. Де необхідно, Libreboot надає
оригінального образа продавця, в регіоні ME інтегральної схеми флеш-пам'яті).
Ви можете дізнатись про це більше на наступній сторінці:
[docs/install/ivy_has_common.md](docs/install/ivy_has_common.md)
[docs/install/ivy_has_common.uk.md](docs/install/ivy_has_common.uk.md)
Прошивка ME є *обов'язковою* на майже всіх платформах Intel, або машина
*вимкнеться* після 30 хвилин. В нейтралізованому налаштуванні, код BringUp
@ -227,7 +227,7 @@ Intel ME вимкне той час скидання в 30 хвилин, доз
проектом Libreboot.
Якщо триматись цих припущень, і ви погодились зі статтею Libreboot про
мікрокод, на яку наведено посилань зверху, і зважаєте *факт*, що (щонайменш, станом на
мікрокод, на яку наведено посилання зверху, і зважаєте *факт*, що (щонайменш, станом на
зараз) Libreboot є здатним на повністю вільну ініціалізацію в межах coreboot, тоді
ми можемо не без причини бути впевненими, що Libreboot надає гарний рівень свободи
програмного забезпечення. Так, незважаючи на те, як дехто може інакше почувати, якщо вони *не* мають
@ -237,9 +237,9 @@ Intel ME вимкне той час скидання в 30 хвилин, доз
та не може бути модифікованим, в зв'язку з перевіркою криптографічного підпису
апаратним забезпечення, це є програмним забезпеченням для пристрою, який ви ніколи не захочете насправді
використовувати в реальному світі, тобто якщо він *не робить нічого* в нейтралізованому стані, тоді
його може бути проігноровано на практиці. Це залежить від вашої точки зори, і деякі
його може бути проігноровано на практиці. Це залежить від вашої точки зору, і деякі
люди можуть займати більш догматичний підхід, ніж цей. Проект Libreboot
зважає нейтралізовані налаштування ME прийнятними, обидва з перспекти безпеки
зважає нейтралізовані налаштування ME прийнятними, обидва з перспективи безпеки
та перспективи свободи програмного забезпечення.
Більше про видалення/вимкнення Intel ME
@ -261,9 +261,9 @@ Option ROM VGA
Intel, які підтримуються, що мають її. Джерельний код надано coreboot, під
вільною ліцензією.
На *деяких* машинах, подвійна графіка є можливою. Наприклад, конкретні ThinkPad
T440p материнські плати ідуть з обома графічними картками Intel та Nvidia, де ви можете
або використовувати *обидві* або тільки Intel; для використання графічної картки Nvidia, двійковий блоб
На *деяких* машинах, подвійна графіка є можливою. Наприклад, конкретні материнські плати ThinkPad
T440p ідуть з обома графічними картками Intel та Nvidia, де ви можете
або використовувати *обидві*, або тільки Intel; для використання графічної картки Nvidia, двійковий блоб
вимагається, який Libreboot не надає (і не захоче надавати), натомість вибираючи
увімкнення тільки графічної карти *Intel* (де вільний код ініціалізації є доступним
в coreboot). В більшості материнських плат T440p, *тільки* графічна картка Intel є фізично
@ -274,7 +274,7 @@ T440p материнські плати ідуть з обома графічн
графічну картку Intel, де coreboot має вільний код ініціалізації.
Це є прикладом нюансованого характеру в політиці Libreboot. Libreboot
*міг* надавати подібні блоби, з судженням, що *необхідно*
*міг би* надавати подібні блоби, з судженням, що *необхідно*
використовувати ці додаткові процесори. Однак, на практиці, ці машини є повністю придатними
для використання лише з графікою Intel, для якої джерельний код є доступним.
@ -302,7 +302,7 @@ Libreboot наразі *бракує* підтримки для платформ
Платформи ARM (chromebook)
=============
В більшості без блобі, за вийнятком вимоги на материнських платах `daisy` та `peach`
В більшості без блобів, за вийнятком вимоги на материнських платах `daisy` та `peach`
включати блоби завантажувача BL1. Це:
* HP Chromebook 11 G1 (daisy-spring)
@ -368,7 +368,7 @@ Intel Flash Descriptor надано в якості блобів на деяки
для мережевих карток Intel, які використані в Thinkpad GM45.
* Програма Libreboot `nvmutil` може маніпулювати образами GbE NVM
Блоби мікрокоду ЦП включено за замовчуванням, на всіх платах x86. В той час як не потрбіні
Блоби мікрокоду ЦП включено за замовчуванням, на всіх платах x86. В той час як не потрібні
в більшості випадків, їх використання надзвичайно рекомендовано. Дивіться для причин чому:
[news/policy.uk.md#більш-детальна-інформація-про-мікрокод](news/policy.uk.md#більш-детальна-інформація-про-мікрокод)
@ -385,7 +385,7 @@ BL1 завантажувач потрібен на: `daisy_snow`, `daisy_spring`
Libreboot *міг би* додати багато блобів для різних платформ, для увімкнення різноманітних
додаткових функцій, які натомість він уникати додавати, в точності тому, що *метою*
проекта Libreboot є поширення *вільного* програмног забезпечення та *мінімізація* сили,
проекта Libreboot є поширення *вільного* програмного забезпечення та *мінімізація* сили,
яку розробники пропрієтарного програмного забезпечення мають над користувачами.
Я сподіваюсь, що ця стаття надала їжу для роздумів.
@ -394,7 +394,7 @@ Libreboot *міг би* додати багато блобів для різни
--------------------------
Жодна з машин, які наразі підтримуються Libreboot не має вільного *апаратного забезпечення*, в тому
сенсі, що інтегральні схеми не ідуть з публічного доступними файлами *verilog* та
сенсі, що інтегральні схеми не ідуть з публічно доступними файлами *verilog* та
подібним. Ви не змогли би виготовити власну заміну цих машин.
Деякі схеми та файли бордв'ю описують друковані плати окремих