142 lines
10 KiB
Markdown
142 lines
10 KiB
Markdown
|
---
|
|||
|
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 вашого
|
|||
|
постачальника, щоб тримати вашу машину в працюючому стані, поки розробка проходить
|
|||
|
над вашою платою.
|