2023-03-26 16:39:44 +00:00
|
|
|
|
---
|
|
|
|
|
title: Статус свободи програмного та апаратного забезпечення для кожної плати, яка підтримується Libreboot
|
|
|
|
|
x-toc-enable: true
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
Вступ
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
Коротка версія історії: *всі* плати, які наразі підтримуються Libreboot
|
|
|
|
|
можна ініціалізувати в coreboot з *вільним*, *поважаючим свободу* або *з відкритим джерелом* кодом, який
|
|
|
|
|
користувач може вивчати глибинно та адаптувати для своїх потреб, але існують
|
|
|
|
|
деякі застереження та підводні камні, які користувач повинен знати, для деяких машин.
|
|
|
|
|
|
|
|
|
|
Як багато користувачів може знати, coreboot (який Libreboot використовує для апаратної
|
|
|
|
|
ініціалізації) номінально *Вільне від слова Воля*, *вільне* або *з відкритим джерелом*
|
|
|
|
|
програмне забезпечення; хоча, coreboot намагається надати вільний код для ініціалізації кожної
|
|
|
|
|
машини. Розробники coreboot працюють дуже потужно для зворотньої розробки якомога більшої
|
|
|
|
|
кількості можливого функціоналу, для надання джерельного кода під вільною ліцензією.
|
|
|
|
|
Цих людей варто відзначити, оскільки Libreboot не міг би існувати без таких
|
|
|
|
|
зусиль з їх боку.
|
|
|
|
|
|
|
|
|
|
На *деяких* платах, які coreboot підтримує, деякі двійкові блоби вимагаються.
|
|
|
|
|
Це може бути для речей подібних ініціалізації кадрового буфера відео, налаштування
|
|
|
|
|
контролерів пам'яті і так далі. Двійковий блоб це, в цьому контексті, будь-яке програмне забезпечення,
|
|
|
|
|
яке тільки іде в формі виконуваного двійкового коду *з джерельним кодом недоступним*. Це
|
|
|
|
|
робить складнішим (але не неможливим) вивчення того, як програми працюють, і ці
|
|
|
|
|
блоби часто ідуть з обмеженням або на їх використання та/або розповсюдження.
|
|
|
|
|
|
|
|
|
|
Мета цього документа - чітко описати наявність (або відсутність)
|
|
|
|
|
двійкових блобів на кожній даній апаратній платформі або, у межах кожної платформи,
|
|
|
|
|
на певних варіантах материнської плати. На веб-сайті Libreboot подібна інформація була
|
|
|
|
|
відсутня або викладена погано, тому було вирішено написати офіційну
|
|
|
|
|
документацію. Причиною такої відсутності було те, що Libreboot раніше
|
|
|
|
|
давав підтримку *лише* для тих плат, які *не* потребують двійкових блобів
|
|
|
|
|
у головній флеш-схемі для завантажувального мікропрограмного забезпечення, тому така документація не була потрібна.
|
|
|
|
|
|
|
|
|
|
Більш *прагматична* політика була опублікована протягом листопада 2022 року, з поглядом
|
|
|
|
|
на допомогу настільки багатьом людям, наскільки можливо, у встановленні coreboot, навіть на менш-ніж-ідеальному
|
|
|
|
|
апаратному забезпеченні (продовжуючи також підтримувати більше дружнє до свободи апаратне забезпечення).
|
|
|
|
|
Libreboot досі має суворі стандарти про те, *які* точно блоби дозволені,
|
|
|
|
|
які ви можете прочитати в наступному документі, так:
|
|
|
|
|
|
|
|
|
|
[Політика зменшення бінарних блобів](news/policy.uk.md)
|
|
|
|
|
|
|
|
|
|
В цій статті ви вивчите всі шляхи (на практиці), якими Libreboot
|
|
|
|
|
реалізовує цю *політику зменшення блобів*, особливо в тому рядку в ній, який каже,
|
2023-04-06 06:27:12 +00:00
|
|
|
|
цитата, "якщо блоб можна уникнути, його необхідно уникнути".
|
2023-03-26 16:39:44 +00:00
|
|
|
|
|
|
|
|
|
Чому це має значення?
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
|
|
*Практичною метою* проекта Libreboot є підтримка якомога більшої кількості апаратного забезпечення
|
|
|
|
|
підтримки coreboot, повністю протестованого з попередньо зібраними образами ROM
|
|
|
|
|
та легкими інструкціями прошивки, направленими на нетехнічних користувачів, щоб привнести
|
|
|
|
|
якомога більше користувачів в спільноту coreboot. З більшою кількістю користувачів, набагато
|
|
|
|
|
більше людей відкриються coreboot і це неминуче призведе до більшої кількості
|
|
|
|
|
людей, які розробляють coreboot, що є критичним проектом руху за вільне
|
|
|
|
|
програмне забезпечення. З більшою кількістю розробників, більше *користувачів* матимуть змогу досягти рівень
|
|
|
|
|
свободи або *суверенітету* в їх обчисленнях та, тому, цикл має продовжитись.
|
|
|
|
|
|
|
|
|
|
Ця мета існує, тому що *ідеологічною метою* Libreboot є поширення
|
|
|
|
|
свободи програмного забезпечення будь-якими необхідними засобами, настільки багатьом людям, наскільки можливо.
|
|
|
|
|
Універсальний доступ до джерельного кода, здатність вивчати та змінювати код або
|
|
|
|
|
перерозповсюджувати його, та виконувати його нескінченно з будь-якою метою надзвичайно важлива.
|
|
|
|
|
Таким свободам варто бути *за замовчуванням* для всього програмного забезпечення. Це робить coreboot
|
|
|
|
|
надзвичайно корисним, навіть у випадках, де двійковий блоб є необхідним для певної
|
|
|
|
|
функціональності. Свободі варто бути *за замовчуванням* для всього програмного забезпечення, і це є
|
|
|
|
|
метою *Libreboot* допомогти продемонструвати це реальністю.
|
|
|
|
|
|
|
|
|
|
*Політика* проекта Libreboot, в межах цієї мети, надання такої
|
|
|
|
|
підтримки апаратного забезпечення з якомога *меншою* можливою кількостю двійкових блобів, в ідеалі *відсутньою*, як
|
2023-04-06 06:27:12 +00:00
|
|
|
|
у випадку з багатьма конфігураціями, які підтримує Libreboot. Libreboot *спробує*
|
2023-03-26 16:39:44 +00:00
|
|
|
|
підтримувати будь-яку дану одиницю апаратного забезпечення, навіть у випадках, де *повна*
|
|
|
|
|
свобода програмного забезпечення не є можливою; наприклад, якщо coreboot вимагає блоб для
|
|
|
|
|
raminit на даній платі, блоб було би надано Libreboot.
|
|
|
|
|
|
|
|
|
|
*Ви можете прочитати політику зменшення/мінімалізації блобів Libreboot в більших подробицях.
|
|
|
|
|
Будь ласка, прочитайте документ, названий: [Політика зменшення бінарних
|
|
|
|
|
блобів](news/policy.uk.md).*
|
|
|
|
|
|
|
|
|
|
Архітектура Coreboot
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
|
|
Хоча не *суворо* необхідно для не-розробників, Ви можете знайти корисним
|
|
|
|
|
набуття розуміння на високому рівні того, *як* працює coreboot, для набуття
|
|
|
|
|
деякого контексту про деякі із тем, які обговорено в цій статті. Дивіться:
|
|
|
|
|
|
|
|
|
|
<https://doc.coreboot.org/getting_started/architecture.html>
|
|
|
|
|
|
|
|
|
|
100% вільна ініціалізація coreboot
|
|
|
|
|
===========================
|
|
|
|
|
|
|
|
|
|
*Всі* плати, які наразі підтримуються Libreboot можуть мати 100%
|
|
|
|
|
вільну ініціалізацію *зі сторони coreboot*. В цьому контексті, це має на увазі
|
|
|
|
|
будь-яку ініціалізацію, яка виконується головним процесором, для підняття машини для
|
|
|
|
|
виконання кода.
|
|
|
|
|
|
|
|
|
|
Завантажувальна прошивка не є *єдиним* програмним забезпеченням, присутнім в будь-якій машині, та існують
|
|
|
|
|
деякі контексти, які потрібно зрозуміти, щоб побачити більшу картину.
|
|
|
|
|
|
|
|
|
|
Причина, чому ця різниця має значення (посилаючись конкретно на сторону
|
|
|
|
|
ініціалізації coreboot), стане зрозуміліше, в наступних секціях:
|
|
|
|
|
|
|
|
|
|
Універсальний захист зроблено в Libreboot, дозволяючи (читайте: вимагаючи, згідно з
|
|
|
|
|
політикою проекту) включення оновлень мікрокоду ЦП, якщо доступно. Ви можете
|
|
|
|
|
прочитати більше про це і причини *чому*, прочитавши наступну статтю:
|
|
|
|
|
|
|
|
|
|
[Оновлення мікрокоду ЦП
|
|
|
|
|
є **нормальним**](news/policy.uk.md#більш-детальна-інформація-про-мікрокод)
|
|
|
|
|
|
2023-06-20 06:02:54 +00:00
|
|
|
|
[Releases after Libreboot 20230423 will provide separate ROMs with microcode
|
2023-06-20 06:17:52 +00:00
|
|
|
|
excluded, alongside default ones with microcode included.](news/microcode.md)
|
2023-06-20 06:02:54 +00:00
|
|
|
|
|
2023-03-26 16:39:44 +00:00
|
|
|
|
Платформи Intel
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
Дескрипторне проти бездескрипторного налаштування
|
|
|
|
|
----------------------------------
|
|
|
|
|
|
|
|
|
|
Libreboot підтримує декілька материнських плат, які використовують платформи Intel. Серед них існує
|
|
|
|
|
суттєво два класи машин (для цілей цієї статті):
|
|
|
|
|
|
|
|
|
|
* Бездескрипторне налаштування
|
|
|
|
|
* Дескрипторне налаштування
|
|
|
|
|
|
|
|
|
|
Що означає *дескриптор*? Гаразд, традиційно, основна флеш інтегральна мікросхема (яка містить
|
|
|
|
|
завантажувальну прошивку, зазвичай на яку посилаються як на *BIOS*) на машинах Intel,
|
|
|
|
|
містила тільки виконуваний код *x86*, який відповідає за ініціалізацію всього
|
2023-04-06 06:27:12 +00:00
|
|
|
|
апаратного забезпечення, такого як ЦП, контролер пам'яті та периферія. Це те, що
|
|
|
|
|
ми будемо називати *бездескрипторне* налаштування; в таких конфігураціях,
|
2023-03-26 16:39:44 +00:00
|
|
|
|
прошивка Intel ME є відсутньою за замовчуванням.
|
|
|
|
|
|
|
|
|
|
В *дескрипторному* налаштуванні, флеш поділений на регіони, такі як:
|
|
|
|
|
|
|
|
|
|
* Intel flash descriptor: завжди перші 4Кбайт флеш. Закодовані двійково
|
|
|
|
|
конфігураційні дані для машини, та регіони (такі як цей, або
|
|
|
|
|
інші нижче) оголошено тут. Деяким чином, ви можете думати про це
|
|
|
|
|
аналогічно до *Master Boot Record* на жорсткому диску.
|
|
|
|
|
* Intel GbE NVM (неволатильна пам'ять gigabit ethernet): закодовані двійково
|
|
|
|
|
конфігураційні дані, для пристроя Intel gigabit ethernet на платі, якщо такий
|
|
|
|
|
є присутнім. Вона містить багато налаштувань, таких як MAC-адреса, на якій швидкості мережева карта
|
2023-04-06 06:27:12 +00:00
|
|
|
|
має працювати, PCI ID, *швидкість мерехтіння LED* та більше.
|
2023-03-26 16:39:44 +00:00
|
|
|
|
Якщо використовується мережева карта не Intel, цей флеш-регіон не буде присутнім.
|
|
|
|
|
* ME (Intel Management Engine): *брудний* недолік безпеки в своєму стані
|
|
|
|
|
за замовчуванням, ME надає багато функцій, таких як віддалене керування, з повним
|
|
|
|
|
мережевим функціоналом, ME є виділеним сопроцесором, окремим від головного ЦП, та
|
|
|
|
|
прошивка ініціалізації плюс операційна система для нього завантажується з
|
|
|
|
|
цього виділеного регіона в основній завантажувальній флеш-пам'яті. Більше інформації доступно [в
|
|
|
|
|
частих запитаннях](faq.uk.md#intelme) - там де в іншому випадку прошивка ME є присутньою, Libreboot
|
|
|
|
|
або видаляє її, або (за допомогою програми `me_cleaner`) переналаштовує її таким
|
|
|
|
|
чином, що його вимкнено в процесі ініціалізації машини.
|
2023-04-06 06:27:12 +00:00
|
|
|
|
* Регіон платформи: непрограмні дані, зазвичай просто купа рядків розміщена тут
|
2023-03-26 16:39:44 +00:00
|
|
|
|
продавцем апаратного забезпечення.
|
|
|
|
|
* Регіон BIOS: цей містить основну завантажувальну прошивку, відповідальну за
|
|
|
|
|
ініціалізацію ЦП, контролера пам'яті та периферії, призводячи
|
|
|
|
|
машину в стан, де вона може виконувати програми (скоріше за все, що завантажувач,
|
|
|
|
|
а потім операційну систему). Код coreboot (наданий Libreboot) іде
|
|
|
|
|
тут.
|
|
|
|
|
|
|
|
|
|
*По суті*, ви можете думати про такі "регіони" за аналогією до *розділів* на
|
|
|
|
|
жорсткому диску. Що важливо так це те, що інтегральна мікросхема флеш-пам'яті *розділена* на такі
|
|
|
|
|
регіони, де кожний регіон призначено для конкретної мети.
|
|
|
|
|
|
|
|
|
|
На деяких новіших дескрипторних платформах Intel, існує більше регіонів, ніж
|
|
|
|
|
ці. В деяких випадках, *[вбудований
|
|
|
|
|
контролер](faq.uk.md#прошивка-ec-вбудований-контролер)* (EC) може також
|
2023-04-06 06:27:12 +00:00
|
|
|
|
бути в своєму власному регіоні на завантажувальній флеш-пам'яті; щонайменш, наразі, це не є
|
2023-03-26 16:39:44 +00:00
|
|
|
|
актуальним ні на якому апаратному забезпеченні, яке підтримує Libreboot (натомість, це зберігається
|
|
|
|
|
на окремій інтегральній мікросхемі).
|
|
|
|
|
|
|
|
|
|
Вміст регіонів *дескриптора* та *GbE* описано в даташітах Intel,
|
|
|
|
|
але ті даташіти часто містять *зарезервовані* секції, де
|
|
|
|
|
частини залишені незадокументованими. Зусилля зворотної розробки протягом років
|
|
|
|
|
задокументували деякі з цих прогалин.
|
|
|
|
|
|
|
|
|
|
Libreboot *не* розповсюджує образи Intel ME
|
|
|
|
|
-----------------------------------------------
|
|
|
|
|
|
|
|
|
|
ME містить багато модулів в собі, і один з цих модулів це
|
|
|
|
|
код BringUp. Цей код BringUp є *власною* прошивкою ініціалізації ME,
|
|
|
|
|
подібною coreboot. Згідно з тією самою аналогією, інші модулі
|
|
|
|
|
Intel ME (такі як: ядро ME) є подібними (концептуально) до
|
|
|
|
|
*корисного навантаження coreboot*.
|
|
|
|
|
|
|
|
|
|
Так, налаштування *нейтралізованого ME* є, на сопроцесорі intel ME, аналогічним до
|
|
|
|
|
виконання coreboot без корисного навантаження. В цьому стані, ME ініціалізує себе
|
|
|
|
|
готовим до виконання коду, але потім *насправді не виконує код*. Він таким чином не шкідливий,
|
|
|
|
|
обидва з точки зору безпеки- та точки зору свободи. Іншими словами, ME
|
|
|
|
|
є *вимкненим*.
|
|
|
|
|
|
|
|
|
|
Libreboot *не* розповсюджує прошивку Intel ME жодним чином, ні в сховищі
|
|
|
|
|
Git, ні в випусках. Де необхідно, Libreboot надає
|
|
|
|
|
сценарії, які автоматично отримують та встановлюють її, в *нейтралізованому* стані, за
|
|
|
|
|
допомогою виконання програми `me_cleaner`, про яку ви можете почитати тут:
|
|
|
|
|
|
|
|
|
|
<https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F>
|
|
|
|
|
|
|
|
|
|
Це повністю автоматизовано. Якщо ви будуєте образи ROM з `lbmk.git`,
|
|
|
|
|
автоматизованої системи побудови libreboot, прошивка ME буде завантажена,
|
|
|
|
|
нейтралізована за допомогою `me_cleaner` та вставлена в фінальний образ ROM автоматично.
|
|
|
|
|
|
|
|
|
|
*Випущені* образи ROM, надані попередньо зібраними, упускають прошивку Intel ME. На
|
|
|
|
|
платформах, які вимагають її, *ті самі* сценарії, які вставляють її в процесі
|
|
|
|
|
побудови, можуть *також* виконувати після-побудову, перевставляючи Intel ME в завантажувальну ROM. Це в
|
|
|
|
|
зв'язку з проблемними питаннями ліцензіювання, оточуючими розповсюдження образів Intel ME.
|
|
|
|
|
|
|
|
|
|
Система побудови Libreboot отримує її напряму від продавця для даної
|
|
|
|
|
машини або набору машин (в якості приклада, Lenovo надає образи для декількох
|
|
|
|
|
машин ThinkPad). Це гарантує, що кожен користувач отримує точно таку саму
|
|
|
|
|
конфігурацію (іншою альтернативою є витаскування прошивки Intel ME з
|
|
|
|
|
оригінального образа продавця, в регіоні ME інтегральної схеми флеш-пам'яті).
|
|
|
|
|
|
|
|
|
|
Ви можете дізнатись про це більше на наступній сторінці:
|
2023-04-06 08:14:53 +00:00
|
|
|
|
[docs/install/ivy_has_common.uk.md](docs/install/ivy_has_common.uk.md)
|
2023-03-26 16:39:44 +00:00
|
|
|
|
|
|
|
|
|
Прошивка ME є *обов'язковою* на майже всіх платформах Intel, або машина
|
|
|
|
|
*вимкнеться* після 30 хвилин. В нейтралізованому налаштуванні, код BringUp
|
|
|
|
|
Intel ME вимкне той час скидання в 30 хвилин, дозволяючи вам використовувати ваш
|
|
|
|
|
комп'ютер нормально, навіть незважаючи на те, що ME *не* виконує нічого після цього.
|
|
|
|
|
|
|
|
|
|
Нейтралізований ME дійсно є вимкненим
|
|
|
|
|
------------------------------
|
|
|
|
|
|
|
|
|
|
Зважайте на це: якщо ME тільки робить свій власний BringUp, але потім не
|
|
|
|
|
виконує нічого, чи це дійсно щось більше ніж незначний відтік часу життя вашої
|
|
|
|
|
батареї? В нейтралізованому стані, Intel ME є лише неактивним комп'ютером
|
|
|
|
|
на вашій материнській платі, таким, що нічого не робить, який вам не потрібен і який ви
|
|
|
|
|
ніколи не будете використовувати. Таким чином, його можна розцінювати нешкідливим з обох перспективи свободи
|
|
|
|
|
програмного забезпечення та перспективи безпеки, і це є поглядом, який взято
|
|
|
|
|
проектом Libreboot.
|
|
|
|
|
|
|
|
|
|
Якщо триматись цих припущень, і ви погодились зі статтею Libreboot про
|
2023-04-06 06:27:12 +00:00
|
|
|
|
мікрокод, на яку наведено посилання зверху, і зважаєте *факт*, що (щонайменш, станом на
|
2023-03-26 16:39:44 +00:00
|
|
|
|
зараз) Libreboot є здатним на повністю вільну ініціалізацію в межах coreboot, тоді
|
|
|
|
|
ми можемо не без причини бути впевненими, що Libreboot надає гарний рівень свободи
|
|
|
|
|
програмного забезпечення. Так, незважаючи на те, як дехто може інакше почувати, якщо вони *не* мають
|
|
|
|
|
такої перспективи.
|
|
|
|
|
|
|
|
|
|
Тобто, хоча код BringUp, який залишається для Intel ME *є* пропрієтарним,
|
|
|
|
|
та не може бути модифікованим, в зв'язку з перевіркою криптографічного підпису
|
|
|
|
|
апаратним забезпечення, це є програмним забезпеченням для пристрою, який ви ніколи не захочете насправді
|
|
|
|
|
використовувати в реальному світі, тобто якщо він *не робить нічого* в нейтралізованому стані, тоді
|
2023-04-06 06:27:12 +00:00
|
|
|
|
його може бути проігноровано на практиці. Це залежить від вашої точки зору, і деякі
|
2023-03-26 16:39:44 +00:00
|
|
|
|
люди можуть займати більш догматичний підхід, ніж цей. Проект Libreboot
|
2023-04-06 06:27:12 +00:00
|
|
|
|
зважає нейтралізовані налаштування ME прийнятними, обидва з перспективи безпеки
|
2023-03-26 16:39:44 +00:00
|
|
|
|
та перспективи свободи програмного забезпечення.
|
|
|
|
|
|
|
|
|
|
Більше про видалення/вимкнення Intel ME
|
|
|
|
|
----------------------------------
|
|
|
|
|
|
|
|
|
|
*Libreboot* надає шлях повністю видалити прошивку ME, зберігаючи
|
|
|
|
|
повне використання машини, на платформах GM45 з південним мостом ICH9M. Це
|
|
|
|
|
ноутбуки: ThinkPad X200/T400/T500/W500 і так далі з того покоління. Дивіться:
|
|
|
|
|
[docs/install/ich9utils.md](docs/install/ich9utils.md)
|
|
|
|
|
|
|
|
|
|
На новіших платформах використовується `me_cleaner`. Ви можете прочитати про це тут:
|
|
|
|
|
|
|
|
|
|
<https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F>
|
|
|
|
|
|
|
|
|
|
Option ROM VGA
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
*Нативна* ініціалізація відео підтримується та *увімкнена*, для всіх платформ
|
|
|
|
|
Intel, які підтримуються, що мають її. Джерельний код надано coreboot, під
|
|
|
|
|
вільною ліцензією.
|
|
|
|
|
|
2023-04-06 06:27:12 +00:00
|
|
|
|
На *деяких* машинах, подвійна графіка є можливою. Наприклад, конкретні материнські плати ThinkPad
|
|
|
|
|
T440p ідуть з обома графічними картками Intel та Nvidia, де ви можете
|
|
|
|
|
або використовувати *обидві*, або тільки Intel; для використання графічної картки Nvidia, двійковий блоб
|
2023-03-26 16:39:44 +00:00
|
|
|
|
вимагається, який Libreboot не надає (і не захоче надавати), натомість вибираючи
|
|
|
|
|
увімкнення тільки графічної карти *Intel* (де вільний код ініціалізації є доступним
|
|
|
|
|
в coreboot). В більшості материнських плат T440p, *тільки* графічна картка Intel є фізично
|
|
|
|
|
присутньою.
|
|
|
|
|
|
|
|
|
|
На деяких материнських платах ThinkPad T400, W500 та T500, графічні карти ATI та Intel є
|
|
|
|
|
присутніми, і ви можете використовувати або одну, або обидві. Ще раз, Libreboot *тільки* підтримує
|
|
|
|
|
графічну картку Intel, де coreboot має вільний код ініціалізації.
|
|
|
|
|
|
|
|
|
|
Це є прикладом нюансованого характеру в політиці Libreboot. Libreboot
|
2023-04-06 06:27:12 +00:00
|
|
|
|
*міг би* надавати подібні блоби, з судженням, що *необхідно*
|
2023-03-26 16:39:44 +00:00
|
|
|
|
використовувати ці додаткові процесори. Однак, на практиці, ці машини є повністю придатними
|
|
|
|
|
для використання лише з графікою Intel, для якої джерельний код є доступним.
|
|
|
|
|
|
|
|
|
|
За замовчуванням Libreboot є *завжди* свобода, коли можливо на практиці. Користувачі, які
|
|
|
|
|
бажають мати використання додаткових графічних процесорів, на такому апаратному забезпеченні, мають взяти до уваги
|
|
|
|
|
наступний параграф у політиці Libreboot:
|
|
|
|
|
|
|
|
|
|
*"Принципам зверху варто бути застосованими до конфігурацій за замовчування. Однак,
|
|
|
|
|
libreboot є налаштовуваним, дозволяючи користувачу робити все, що заманеться."* -
|
|
|
|
|
налаштовуваний, напевно! Дивіться: [docs/maintain/](docs/maintain/)
|
|
|
|
|
|
|
|
|
|
Ініціалізація контролера пам'яті
|
|
|
|
|
--------------------------------
|
|
|
|
|
|
|
|
|
|
Libreboot має *повністю вільну* ініціалізацію, доступну для всіх контролерів пам'яті Intel
|
|
|
|
|
на платформах, які підтримуються. Це *включає* Haswell (ThinkPad T440p
|
|
|
|
|
та W541), станом на Libreboot 20230319 та пізніші.
|
|
|
|
|
|
|
|
|
|
Платформи ARM (chromebook)
|
|
|
|
|
=============
|
|
|
|
|
|
2023-04-06 06:27:12 +00:00
|
|
|
|
В більшості без блобів, за вийнятком вимоги на материнських платах `daisy` та `peach`
|
2023-03-26 16:39:44 +00:00
|
|
|
|
включати блоби завантажувача BL1. Це:
|
|
|
|
|
|
|
|
|
|
* HP Chromebook 11 G1 (daisy-spring)
|
|
|
|
|
* Samsung Chromebook XE303 (daisy-snow)
|
|
|
|
|
* Samsung Chromebook 2 13” (peach-pi)
|
|
|
|
|
* Samsung Chromebook 2 11” (peach-pit)
|
|
|
|
|
|
|
|
|
|
Libreboot *наразі* не розміщує ці блоби взагалі, і це
|
|
|
|
|
вважається *помилкою*; це задокументовано на сторінці сумісності
|
|
|
|
|
апаратного забезпечення. Їх можна додати вручну користувачем, але документації для цього
|
|
|
|
|
наразі бракує на веб-сайті Libreboot.
|
|
|
|
|
|
|
|
|
|
Список необхідних блобів, конкретно для кожної плати
|
|
|
|
|
=================================================
|
|
|
|
|
|
|
|
|
|
Ця стаття ретельно пояснила, в деталізованому огляді, точний
|
|
|
|
|
характер того, *які* бінарні блоби розміщуються в Libreboot. Знову,
|
|
|
|
|
повністю вільна ініціалізація з coreboot є доступною *на всіх наразі підтримуваних платах*.
|
|
|
|
|
|
|
|
|
|
*З coreboot* є критичним аспектом цього, але повні межі Libreboot це
|
|
|
|
|
основна завантажувальна інтегральна схема, яка (в деяких випадках) містить програмне забезпечення не з coreboot.
|
|
|
|
|
|
|
|
|
|
Ось список, *для кожної* плати, цих блобів:
|
|
|
|
|
|
|
|
|
|
Intel/x86
|
|
|
|
|
---------
|
|
|
|
|
|
2023-07-30 06:11:24 +00:00
|
|
|
|
### Intel ME:
|
|
|
|
|
|
2023-03-26 16:39:44 +00:00
|
|
|
|
Нейтралізований ME потрібен на цих цілях: `t420_8mb`, `t420s_8mb`, `t430_12mb`,
|
2024-06-19 00:21:40 +00:00
|
|
|
|
`t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`,
|
|
|
|
|
`w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`,
|
2023-08-15 23:05:59 +00:00
|
|
|
|
`x230edp_12mb`, `x230t_12mb`, `x230t_16mb`, `hp8200sff_8mb`, `hp2560p_8mb`,
|
2024-06-12 08:28:12 +00:00
|
|
|
|
`hp2570p_16mb`, `hp2170p_16mb`, `hp9470m_16mb`, `hp820g2_12mb`, `t1650_12mb` та
|
|
|
|
|
Dell OptiPlex 9020, Sandybridge/Ivybridge/Haswell Dell Latitude.
|
2023-04-23 00:30:02 +00:00
|
|
|
|
|
2023-04-23 23:17:10 +00:00
|
|
|
|
Як заявлено, Libreboot надає це в стані, де ME більше не є
|
|
|
|
|
загрозою для безпеки. Він ініціалізує себе, але потім нічого не робить, тому його
|
|
|
|
|
вимкнено. Це зроблено використовуючи `me_cleaner`. Дивіться:
|
|
|
|
|
<https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F>
|
|
|
|
|
|
2023-07-30 06:11:24 +00:00
|
|
|
|
### KBC1126 EC firmware (HP laptops):
|
|
|
|
|
|
2023-08-15 23:05:59 +00:00
|
|
|
|
This applies to the following targets: `hp2170p_16mb`, `hp2560p_8mb`,
|
|
|
|
|
`hp2570p_16mb`, `hp8470pintel_16mb`, `hp9470m_16mb`.
|
|
|
|
|
|
|
|
|
|
[EC firmware](faq.md#ec-embedded-controller-firmware)
|
|
|
|
|
is inserted into main boot flash, rather than being on a separate
|
|
|
|
|
IC. This is *better* because libre replacements would be more easy to install in
|
2023-04-23 00:30:02 +00:00
|
|
|
|
the future, and reverse engineering is made much easier by it. Libreboot's
|
2023-10-10 20:37:16 +00:00
|
|
|
|
build system handles such firmware with scripts, automatically downloading
|
2023-08-15 23:05:59 +00:00
|
|
|
|
it during the build process. Libreboot 20230423 onwards does scrub EC firmware
|
2023-10-10 20:37:16 +00:00
|
|
|
|
and provide functionality in a special script, to insert them with `cbfstool`
|
2023-08-15 23:05:59 +00:00
|
|
|
|
at the correct offset as defined by coreboot config for each board.
|
|
|
|
|
|
|
|
|
|
### SMSC SCH5545 Environmental Control
|
|
|
|
|
|
|
|
|
|
This is a tiny firmware required for fan control, on Dell Precision T1650.
|
2023-03-26 16:39:44 +00:00
|
|
|
|
|
2023-07-30 06:11:24 +00:00
|
|
|
|
### CPU microcode:
|
|
|
|
|
|
|
|
|
|
Оновлення [*мікрокоду*](faq.uk.md#microcode)
|
|
|
|
|
для ЦП надано на *всіх* платформах x86, за замовчуванням. Не
|
2023-03-26 16:39:44 +00:00
|
|
|
|
вимагається технічно, але надзвичайно рекомендовано. Виконайте для видалення:
|
|
|
|
|
|
|
|
|
|
cbfstool filename.rom remove -n cpu_microcode_blob.bin
|
|
|
|
|
|
2023-06-20 06:02:54 +00:00
|
|
|
|
[Releases after Libreboot 20230423 will provide separate ROMs with microcode
|
2023-06-20 06:17:52 +00:00
|
|
|
|
excluded, alongside default ones with microcode included.](news/microcode.md)
|
2023-06-20 06:02:54 +00:00
|
|
|
|
|
2023-03-26 16:39:44 +00:00
|
|
|
|
Видалення оновлень мікрокоду вплине на стабільність системи негативно,
|
|
|
|
|
впроваджуючи нестандартну поламану поведінку і його результатом може бути
|
|
|
|
|
неможливість машини правильно завантажуватись. В інших випадках, видалення його може поламати такі функції,
|
|
|
|
|
як S3 suspend/resume.
|
|
|
|
|
|
2023-04-23 23:21:32 +00:00
|
|
|
|
Блоби мікрокоду ЦП включено за замовчуванням, на всіх платах x86. В той час як не потрібні
|
|
|
|
|
в більшості випадків, їх використання надзвичайно рекомендовано. Дивіться для причин чому:
|
|
|
|
|
[news/policy.uk.md#більш-детальна-інформація-про-мікрокод](news/policy.uk.md#більш-детальна-інформація-про-мікрокод)
|
|
|
|
|
|
2023-07-30 06:11:24 +00:00
|
|
|
|
### Intel Flash Descriptor (IFD):
|
|
|
|
|
|
2023-03-26 16:39:44 +00:00
|
|
|
|
Intel Flash Descriptor надано в якості блобів на деяких платах, але це не є
|
|
|
|
|
блобами *програмного забезпечення*. Це конфігурації, які надано в двійковому форматі,
|
|
|
|
|
повністю придатному для читання вільним програмним забезпеченням. Наприклад:
|
|
|
|
|
|
|
|
|
|
* Програма Libreboot `ich9gen` створює флеш-дескриптори ICH9M з нуля.
|
|
|
|
|
* Програма Coreboot `ifdtool` має обширні функції для маніпуляції Intel
|
|
|
|
|
flash descriptor.
|
|
|
|
|
* Програма Coreboot `bincfg` створює будь-який вид бінарних з файлу `.spec`,
|
|
|
|
|
який може описувати будь-який бінарний формат в форматі, який можна прочитати людині. Вона містить
|
|
|
|
|
декілька Intel flash descriptor для декількох платформ, але Libreboot не використовує
|
|
|
|
|
їх.
|
|
|
|
|
|
|
|
|
|
Конфігурація Intel GbE NVM (конфігураційні дані, закодовані двійково, для гігабітної мережевої картки):
|
|
|
|
|
|
|
|
|
|
* Програма Libreboot `ich9gen` *також* створює образи GbE NVM, конкретно
|
|
|
|
|
для мережевих карток Intel, які використані в Thinkpad GM45.
|
|
|
|
|
* Програма Libreboot `nvmutil` може маніпулювати образами GbE NVM
|
|
|
|
|
|
|
|
|
|
ARM/chromebook
|
|
|
|
|
---------------
|
|
|
|
|
|
2023-07-30 06:11:24 +00:00
|
|
|
|
### BL1 bootloader (peach/daisy):
|
|
|
|
|
|
2023-03-26 16:39:44 +00:00
|
|
|
|
BL1 завантажувач потрібен на: `daisy_snow`, `daisy_spring` та `peach_pit`.
|
|
|
|
|
|
|
|
|
|
Висновки
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
З вищезазначеного, ви можете бачити, що Libreboot в дійсності *надає* *політику зменшення
|
|
|
|
|
бінарних блобів*, з наголошенням на *зменшенні*, що є найбільш критичним.
|
|
|
|
|
|
|
|
|
|
Libreboot *міг би* додати багато блобів для різних платформ, для увімкнення різноманітних
|
|
|
|
|
додаткових функцій, які натомість він уникати додавати, в точності тому, що *метою*
|
2023-04-06 06:27:12 +00:00
|
|
|
|
проекта Libreboot є поширення *вільного* програмного забезпечення та *мінімізація* сили,
|
2023-03-26 16:39:44 +00:00
|
|
|
|
яку розробники пропрієтарного програмного забезпечення мають над користувачами.
|
|
|
|
|
|
|
|
|
|
Я сподіваюсь, що ця стаття надала їжу для роздумів.
|
|
|
|
|
|
|
|
|
|
Відступ: свобода обладнання
|
|
|
|
|
--------------------------
|
|
|
|
|
|
|
|
|
|
Жодна з машин, які наразі підтримуються Libreboot не має вільного *апаратного забезпечення*, в тому
|
2023-04-06 06:27:12 +00:00
|
|
|
|
сенсі, що інтегральні схеми не ідуть з публічно доступними файлами *verilog* та
|
2023-03-26 16:39:44 +00:00
|
|
|
|
подібним. Ви не змогли би виготовити власну заміну цих машин.
|
|
|
|
|
|
|
|
|
|
Деякі схеми та файли бордв'ю описують друковані плати окремих
|
|
|
|
|
машин, які доступні онлайн, через різноманітні канали. Ви маєте знайти їх
|
|
|
|
|
власноруч; одного дня, рух Право на ремонт, сподіваюся, принесе
|
|
|
|
|
універсальний доступ до таких документів спільноті.
|
|
|
|
|
|
|
|
|
|
Для подальшого читання
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
В цій статті описано код, який міститься в *основній завантажувальній флеш-пам'яті*, але
|
|
|
|
|
будь-який комп'ютер, який ви придбаєте, матиме *тони* мікропрограм в інших частинах системи. Деякі
|
|
|
|
|
відомості доступні на сторінці частих запитань Libreboot. Дивіться:
|
|
|
|
|
|
|
|
|
|
* [faq.uk.md#який-рівень-програмної-свободи-дає-мені-libreboot](faq.uk.md#який-рівень-програмної-свободи-дає-мені-libreboot)
|
|
|
|
|
* [faq.uk.md#яке-ще-мікропрограмне-забезпечення-існує-за-межами-libreboot](faq.uk.md#яке-ще-мікропрограмне-забезпечення-існує-за-межами-libreboot)
|
|
|
|
|
|
|
|
|
|
З них найбільш критичним є прошивка жорстких дисків/твердотілих накопичувачів та прошивка EC. Проблема описана
|
|
|
|
|
в цих двох посиланнях застосовується до багатьох різних комп'ютерів, включаючи
|
|
|
|
|
Libreboot, та практично кожний інший комп'ютер в світі.
|