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

9.4 KiB
Raw Blame History

Перед тим, як ви спробуєте зробити будь-яку роботу, вам потрібно буде клонувати проект lbmk (libreboot make). Щоб зробити це, ви будете потребувати git, встановлений на вашій машині. Ви можете потім клонувати проект.

git clone https://codeberg.org/libreboot/lbmk

Якщо ви хочете більше інформації про побудову lbmk, дивіться інструкції побудови.

Конфігурація Coreboot

Корисні навантаження Coreboot (GRUB, Seabios, і так далі) будуються окремо. Ви таким чином тільки потребуєте фокусуватись на конфігурації(ях) coreboot для плати. Всі з цих конфігурацій зберігаються під config/coreboot/плата

Найпростіший шлях почати нову конфігурацію для даної плати це копіювати існуючу конфігурацію і зробити потрібні модифікації. Наприклад, якщо хтось хотів би перенести t420s, тоді конфігурація t420 була би відмінною початковою точкою.

cp -r config/coreboot/t420_12mb/ config/coreboot/t420s_12mb

Ви можете потім легко модифікувати існуючі конфігурації coreboot для вашої плати через lbmk.

./mk -m coreboot t420s_12mb

Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати потрібні змінні та налаштування. Найбліьш важлива річ - це змінити Материнську плату (Motherboard). Ви мусити переконатись, що визначення материнської плати в цій конфігурації відповідає платі. Наприклад, ви би хотіли змінити lenovo/t420 на lenovo/t420s. Вибір exit в інтерфейсі curses виведе вам пропозицію зберегти ваші зміни, переконайтесь, щоб відповідь так (yes). Зробіть примітку, що ви загалом мусите пройти через цей процес двічі, оскільки існує конфігурація corebootfb та txtmode для кожної плати (сценарій впорається з цим для вас).

Тепер ви можете побудувати та випробувати rom для плати. Як тільки ви завершили це, ви можете спробувати прошивку отриманого rom на вашу плату в якості випробування.

./mk -b coreboot t420s_12mb

Якщо ви пробуєте прошити цей rom і це провалюється, тоді існує дві можливих причини:

  1. Розмір CBFS або розмір ROM неправильний
  2. Блоби є несумісними

Рішення до цих проблем ідуть в наступних розділах.

Неправильний розмір CBFS та/або розмір ROM

Різні плати мають різні налаштування чіпів флеш-пам'яті. Загалом, ви маєте один або два флеш-пам'яті з сумарним розміром в 4-16Мбайт. На щастя, flashprog дасть вам знати розмір флеш-чіпа, який ви прошиваєте. Наприклад: коли прошиваєте 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 вашого постачальника, щоб тримати вашу машину в працюючому стані, поки розробка проходить над вашою платою.