lbwww/site/docs/maintain/porting.uk.md

125 lines
9.1 KiB
Markdown
Raw Normal View History

---
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 для `плати.`
Всі з цих конфігурацій зберігаються під config/coreboot/`плата`
Найпростіший шлях почати нову конфігурацію для даної плати це копіювати існуючу
конфігурацію і зробити потрібні модифікації.
Наприклад, якщо хтось хотів би перенести t420s, тоді конфігурація t420 була би відмінною
початковою точкою.
cp -r config/coreboot/t420_12mb/ config/coreboot/t420s_12mb
Ви можете потім легко модифікувати існуючі конфігурації coreboot для вашої плати через lbmk.
./update project trees -m coreboot t420s_12mb
Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати
потрібні змінні та налаштування.
Найбліьш важлива річ - це змінити `Материнську плату (Mainboard).`
Ви мусити переконатись, що визначення материнської плати в цій конфігурації відповідає `платі.`
Наприклад, ви би хотіли змінити lenovo/t420 на lenovo/t420s.
Вибір `exit` в інтерфейсі curses виведе вам пропозицію зберегти ваші
зміни, переконайтесь, щоб відповідь так (yes).
Зробіть примітку, що ви загалом мусите пройти через цей процес двічі, оскільки існує
конфігурація corebootfb та txtmode для кожної плати (сценарій впорається з цим для вас).
Тепер ви можете побудувати та випробувати rom для `плати.`
Як тільки ви завершили це, ви можете спробувати прошивку отриманого rom на вашу плату в якості випробування.
./build fw coreboot 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 |
Отримання допомоги
============
Коли ви спробували все вищенаведене, ви могли би знайти, що ця плата досі не
працює.
Якщо це той випадок, тоді вам варто зв'язатися з розробниками libreboot для більшої допомоги.
Ви можете ping `leah` на irc або відкрити проблемне питання на git.
В обох випадках, переконайтеся, що включено деталізований опис всього, що ви
спробували, і що точно сталося, коли ви спробували прошити rom.
Якщо ваша плата не підтримується в libreboot, тоді ви можете передбачати, що наші
розробники не мають її.
Тоді від вас будуть очікувати випробувати образи, створені розробниками libreboot
на вашій власній машині.
До того часу, ви можете завжди прошити зовнішньо резервну копію rom вашого
постачальника, щоб тримати вашу машину в працюючому стані, поки розробка проходить
над вашою платою.