add site/docs/maintain/porting.uk.md & substitute link to it

hslick-master
Vladislav Shapovalov 2023-04-20 10:34:23 +03:00
parent abb8f310db
commit 66c0a4b1a2
3 changed files with 146 additions and 5 deletions

View File

@ -0,0 +1,141 @@
---
title: Керівництво перенесення
...
Це керівнитво передбачається для тих, хто має дуже низький рівень знань про прошивку
загалом та coreboot окремо.
Більшість плат в coreboot може бути доволі легко перенесена в libreboot.
Ви не потребуєте ніяких знань окремої мови програмування або
технології загалом для перенесення плати.
Якщо ви бажаєте зробити більш суттєві внески до системи побудови,
будь ласка прочитайте [головну сторінку обслуговування.](/docs/maintain/index.html)
Ви точно будете потребувати обладнання для прошивки, якщо ви бажаєте проходити
це керівництво. Дивіться [керівництво прошивки](/docs/install/spi.html) для
винайдення того, що вам буде потрібно.
Coreboot це прошивка для заміни для чіпів прошивки на друкованих
платах (PCB) машини під питанням.
Libreboot є *дистрибутивом* Coreboot.
Ви можливо звикли посилатись до вашої машини як *машина, пристрій, ноутбук*
або його ім'я (наприклад: thinkpad t420).
Тому що наша ціль чіпи на PCB, ми посилаємося до всіх вище термінів синонімічно
як `плата.`
Залишок цієї статті буде посилатись до плати, яку ви бажаєте перенести до
libreboot як `плата.`
Якщо `плата` не підтримується в coreboot, тоді ви маєте почати там спочатку.
Розробники Libreboot зазвичайно не будуть переносити нові плати в coreboot за запитом.
Якщо ви не впевнені про те, чи ваша плата в coreboot, перевірте [таблицю апаратного забезпечення coreboot.](https://coreboot.org/status/board-status.html)
Якщо ви визначили, що `плата` підтримується coreboot, але не
підтримується libreboot, тоді проходьте залишок цього керівництво для спроби
перенести її самостійно. Як ви досі не можете перенести плату, або щось в цьому
керівництві не зрозуміло, тоді зв'яжіться з розробниками libreboot.
Найкращий шлях вийти на зв'язок через [irc libreboot.](/contact.uk.html#кімната-irc)
Клонування lbmk
============
Перед тим, як ви спробуєте зробити будь-яку роботу, вам потрібно буде клонувати проект lbmk (libreboot make).
Щоб зробити це, ви будете потребувати git, встановлений на вашій машині. Ви можете потім клонувати
проект.
git clone https://codeberg.org/libreboot/lbmk
Якщо ви хочете більше інформації про побудову lbmk, дивіться [інструкції побудови.](/docs/build/index.uk.html)
Конфігурація Coreboot
===============
Корисні навантаження Coreboot (GRUB, Seabios, і так далі) будуються окремо.
Ви таким чином тільки потребуєте фокусуватись на конфігурації(ях) coreboot для `плати.`
Всі з цих конфігурацій зберігаються під resources/coreboot/`плата`
Найпростіший шлях почати нову конфігурацію для даної плати це копіювати існуючу
конфігурацію і зробити потрібні модифікації.
Наприклад, якщо хтось хотів би перенести t420s, тоді конфігурація t420 була би відмінною
початковою точкою.
cp -r resources/coreboot/t420_12mb/ resources/coreboot/t420s_12mb
Ви можете потім легко модифікувати існуючі конфігурації coreboot для вашої плати через lbmk.
./modify coreboot configs t420s_12mb
Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати
потрібні змінні та налаштування.
Найбліьш важлива річ - це змінити `Материнську плату (Mainboard).`
Ви мусити переконатись, що визначення материнської плати в цій конфігурації відповідає `платі.`
Наприклад, ви би хотіли змінити lenovo/t420 на lenovo/t420s.
Вибір `exit` в інтерфейсі curses виведе вам пропозицію зберегти ваші
зміни, переконайтесь, щоб відповідь так (yes).
Зробіть примітку, що ви загалом мусите пройти через цей процес двічі, оскільки існує
конфігурація corebootfb та txtmode для кожної плати (сценарій впорається з цим для вас).
Тепер ви можете побудувати та випробувати rom для `плати.`
Як тільки ви завершили це, ви можете спробувати прошивку отриманого rom на вашу плату в якості випробування.
./build boot roms t420s_12mb
Якщо ви пробуєте прошити цей rom і це провалюється, тоді існує дві можливих причини:
1) Розмір CBFS або розмір ROM неправильний
2) Блоби є несумісними
Рішення до цих проблем ідуть в наступних розділах.
Неправильний розмір CBFS та/або розмір ROM
==========================
Різні плати мають різні налаштування чіпів флеш-пам'яті.
Загалом, ви маєте один або два флеш-пам'яті з сумарним розміром в 4-16Мбайт.
На щастя, flashrom дасть вам знати розмір флеш-чіпа, який ви прошиваєте.
Наприклад: коли прошиваєте X230, ви побачите, що один чіп 8192, та інший 4096.
Сумарний розмір rom тоді має бути встановлено на 12Мбайт.
Розмір CBFS залежить безпосередньо від розміру флеш-чіпа, який обрано.
Переконайтесь, що ваш розмір CBFS не більше, ніж максимум для вашої плати.
Розміри CBFS зазначено в hex значеннях, ось таблиця, яка показує правильні максимуми
для різноманітних розмірів rom.
| Розмір ROM | Розмір CBFS |
|:----------:|:-----------:|
| 8Мбайт | 0x7E0000 |
| 12Мбайт | 0xBE0000 |
| 16Мбайт | 0xFE0000 |
Отримання блобів
===============
Найпростіший шлях побачити те, чи ваша конфігурація coreboot є дійсною - це
витягнути потрібні бінарні блоби з резервної копії rom вашого постачальника.
Вам буде потрібно уніфікований rom для налаштувань з подвійнь з подвійним чіпом; дивіться [керівництво ivybridge haswell](/docs/install/ivy_has_common.uk.html)
для інструкцій про створення уніфікованого образу rom.
Витягнення блобів з образа rom постачальника автоматизовано в lbmk.
Просто виконайте `./blobutil extract [плата] [/path/to/backup.bin]`
Наприклад:
./blobutil extract t420s_12mb t420s_backup.bin
Ви можете потім модифікувати ваші конфігурації coreboot знову та встановити шлях для
intel firmware descriptor, intel management engine, та прошивки gigabit ethernet.
Отримання допомоги
============
Коли ви спробували все вищенаведене, ви могли би знайти, що ця плата досі не
працює.
Якщо це той випадок, тоді вам варто зв'язатися з розробниками libreboot для більшої допомоги.
Ви можете ping `shmalebx9` та/або `leah` на irc або відкрити проблемне питання на git.
В обох випадках, переконайтеся, що включено деталізований опис всього, що ви
спробували, і що точно сталося, коли ви спробували прошити rom.
Якщо ваша плата не підтримується в libreboot, тоді ви можете передбачати, що наші
розробники не мають її.
Тоді від вас будуть очікувати випробувати образи, створені розробниками libreboot
на вашій власній машині.
До того часу, ви можете завжди прошити зовнішньо резервну копію rom вашого
постачальника, щоб тримати вашу машину в працюючому стані, поки розробка проходить
над вашою платою.

View File

@ -20,7 +20,7 @@ E6400 та [сторінці інформації про апаратне заб
не потрібна, та [мікрокод може бути видалено, якщо ви бажаєте](gm45microcode.md) не потрібна, та [мікрокод може бути видалено, якщо ви бажаєте](gm45microcode.md)
(вам варто досі залишати мікрокод там, як за замовчуванням, але деякі люди (вам варто досі залишати мікрокод там, як за замовчуванням, але деякі люди
видаляють його, з допомогою вибора, який ми даємо їм - дивіться: видаляють його, з допомогою вибора, який ми даємо їм - дивіться:
[Політика Зменшення Більнарних Блобів](policy.uk.md)). [Політика Зменшення Бінарних Блобів](policy.uk.md)).
*Але почекайте.* Є більше. Набагато більше *цього*, так ось. *Але почекайте.* Є більше. Набагато більше *цього*, так ось.

View File

@ -36,8 +36,8 @@ Coreboot має підтримку для тієї плати. Для *тієї*
Якщо мій сценарій завантаження EC працює для Ріку, та працездатність підтримки Якщо мій сценарій завантаження EC працює для Ріку, та працездатність підтримки
2560p підтверджується, коли Ріку випробує її, тоді обидва з них буде злито в 2560p підтверджується, коли Ріку випробує її, тоді обидва з них буде злито в
гілку master Libreboot. Прошивка EC не на окремій інтегральній мікросхемі, для цієї гілку master Libreboot. Прошивка EC не на окремій інтегральній мікросхемі, для цієї
машини; натомість, вона має буде керована протягом процесу побудови coreboot, для машини; натомість, вона має буде керованою протягом процесу побудови coreboot, для
вставки в головну завантажувальний флеш-пам'ять. Це насправді *краще*, з подібних вставки в головну завантажувальну флеш-пам'ять. Це насправді *краще*, з подібних
причин, як пояснено в [політиці зменшення блобів](policy.uk.md) Libreboot, тому що причин, як пояснено в [політиці зменшення блобів](policy.uk.md) Libreboot, тому що
це робить прошивку EC легшою для заміни на вільний код (заснований на зворотній це робить прошивку EC легшою для заміни на вільний код (заснований на зворотній
розробці, мабуть). розробці, мабуть).
@ -58,9 +58,9 @@ Libreboot в певний момент буде підтримувати *всі
Libreboot має наступну документацію в наявності: Libreboot має наступну документацію в наявності:
* [керівництво обслуговування lbmk](../docs/maintain/) (документація системи побудови) * [керівництво обслуговування lbmk](../docs/maintain/) (документація системи побудови)
* [керівництво перенесення](../docs/maintain/porting.md) (в основному Intel-центричне, на * [керівництво перенесення](../docs/maintain/porting.uk.md) (в основному Intel-центричне, на
момент написання цієї публікації) момент написання цієї публікації)
Робота Ріку надихнуло читання їх. Самі керівництва також потребують Роботу Ріку надихнуло читання їх. Самі керівництва також потребують
постійного обслуговування та покращення, відповідного до змін в постійного обслуговування та покращення, відповідного до змін в
Libreboot. Libreboot.