Merge branch 'master' of v-t60/lbwww into master
commit
3da84b4b2f
|
@ -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)
|
|
@ -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* та
|
||||
подібним. Ви не змогли би виготовити власну заміну цих машин.
|
||||
|
||||
Деякі схеми та файли бордв'ю описують друковані плати окремих
|
||||
|
|
Loading…
Reference in New Issue