LINUX.ORG.RU

Coreboot на thinkpad l420

 , ,


0

2

Пока нет времени вникать, может быть кто-то сталкивался. Есть ли рабочий coreboot для данного ноутбука, надо ли паять, чтобы прошить и возможные подводные камни.

Если никто не в курсе, попробую сам разобраться и отписаться тут, вдруг кому пригодится.

Ответ на: комментарий от SakuraKun

Тогда следовало бы заниматься чем-нибудь вроде risc-v или Raptor Talos™ II Secure Workstation, а не надеждами, что ты знаешь про все бэкдоры, а не только про некоторые.

anonymous ()
Ответ на: комментарий от ch1p

SakuraKun говорил, что мейнтейнер для борды пропал и, соответственно, код для нее не перевели на свежий апи(?).
Насколько я понимаю, эта амдшная платформа еще более-менее свободна от зондов. Главный вопрос в том, сколько времени потребуется на то, чтобы портануть коребут: или это буду делать я, или отдать плату какому-нибудь идейному лоровцу.
И стоит ли рассчитывать на консультации с вашей стороны?

steeels ()
Ответ на: комментарий от steeels

на свежий апи

Не знаю, что там за API (это ведь еще от платформы зависит, а я с AMD не работал, только с разными интеловскими платами, в отличие от SakuraKun), но там периодически рефакторят код, отказываются от каких-то typedef-ов, вводят новые, что-то переписывают, и т.д.

На мой взгляд, если плата раньше собиралась и работала, то достать старый код и пофиксить его, чтобы работало - не сверхсложная задача. А если в coreboot сейчас есть какая-то похожая плата, на которую можно смотреть, как на пример - то еще легче. Это все-таки не портировать с нуля. Это примерно как написать с нуля драйвер какой-нибудь для линукса, или взять уже готовый, который собирался год назад, и пофиксить под свежее ядро. Большая разница.

Мы всегда готовы помочь, а еще есть #coreboot на freenode, где тоже всегда помогут (особенно если подождать и/или периодически напоминать о себе).

ch1p ()
Ответ на: комментарий от ch1p

Плату могут удалить и если её код не обладает каким-то свойством, даже если ей кто-то пользуется. Tyan S8226 удалили скорее потому что никто не портировал её инициализацию памяти с LATE_CBMEM_INIT на EARLY_CBMEM_INIT, а так бы скорее всего и висела в поддерживаемых.

SakuraKun ★★ ()
Ответ на: комментарий от steeels

Можешь посмотреть как в своё время портировали другие AMD-шные платы на EARLY_CBMEM_INIT и сделать по образу и подобию. Если удастся, отправляешь свои наработки на review.coreboot.org - и, возможно после нескольких ревизий твоего патча (сложно всем угодить с первого раза) твою плату примут обратно.

SakuraKun ★★ ()
Ответ на: комментарий от SakuraKun

А я знаю забавный противоположный случай: macbookair4_2 висела с 2015 (если не ошибаюсь) года, никто ей не пользовался, она не работала (!), у нее не было мейнтейнеров, но никто её не удалял :) Это был просто конфиг, сгенерированный autoport.

Там даже вывод для графики неправильный был прописан (LVDS вместо eDP для libgfxinit), и никто не жаловался, потому что никто ей не пользовался :)

ch1p ()
Ответ на: комментарий от steeels

Можешь действовать следующим образом:

1) Качаешь самый свежий коребут (git clone https://review.coreboot.org/coreboot/) и копируешь туда самую последнюю версию папки ./src/mainboard/tyan/s8226 до её удаления в коребуте.

2) Пытаешься под неё скомпилить, и скорее всего у тебя не компилится потому что не хватило какой-то зависимости удалённой из коребута - например, код отвечающий за LATE_CBMEM_INIT. Дальше находишь самую последнюю версию этой удалённой зависимости и тянешь её из старого коребута в новый, опять пытаешься скомпилить, и делаешь так до тех пор пока не скомпилится. Получается свежий коребут + ./src/mainboard/tyan/s8226 с минимально необходимым набором старых зависимостей. Тестишь его на своей плате Tyan S8226 - если работает - т.е. грузится до ОС - переходим к следующему шагу, а если нет, то пытаемся заставить работать. Логи можно считывать или через COM-порт или при помощи USB-адаптера FT232H / FT2232H вставленного в правильный USB-порт. Более подробно можешь почитать тут - https://www.coreboot.org/Console_and_outputs - к сожалению не все эти способы работают для каждой платы.

3) Пытаешься избавиться от старых зависимостей, поглядывая как портировали с LATE_CBMEM_INIT на EARLY_CBMEM_INIT для других плат: желательно найти какую-то одну, максимально похожую по железу, и брать пример с неё. Ну а потом, как всё получится, отправить патч на https://review.coreboot.org и работать над ним.

SakuraKun ★★ ()
Ответ на: комментарий от ch1p

Интересно :) Получается, можно полагаться только на board_status - ведь его можно получить только с рабочей платы. Жаль только немногие его отправляют. Кстати, перед отправкой лучше посмотреть сгенерированную инфу и удалить оттуда лишнее: например, MAC-адрес твоего WiFi-адаптера или модель твоей флешки / жёсткого диска.

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: комментарий от SakuraKun

Спасибо.
Звучит осмысленно, как железка освободится, попробую настроить сетап для дебага, а там посмотрим.
Надеюсь, с тем, чтобы завести дебаг, проблем не возникнет.
А что насчет наличия AMD PSP в Bulldozer'ах, точнее в opteron 42** серии?

steeels ()
Ответ на: комментарий от steeels

Bulldozer это архитектура 15h - и, в качестве дополнительного подтверждения, твоя железка действительно 15h - т.к. в Kconfig твоей Tyan S8226 я вижу NORTHBRIDGE_AMD_AGESA_FAMILY15. а AMD PSP добавили в «поздней 16h» (Puma)

Некоторые, например сайт libreboot, пишут что всё после 2013 года зашкварено - но это неправда, т.к. PSP внедрялся постепенно и есть некоторые более поздние процы которые всё же не содержат в себе PSP - например Opteron X2170 «ранний 16h» (Jaguar), конец 2016.

В коребуте среди AMD-шных плат массового производства, с PSP есть пожалуй только PC Engines APU2 с процом архитектуры «поздняя 16h». Райзен - 17h - пока не добавили. Как видишь, «не вляпаться в PSP» с коребутом довольно несложно. у меня есть железо 15h (Richland) - ноут Lenovo G505S с A10-5750M, и «ранняя 16h» (Jaguar) - десктопная MiniITX плата AM1I-A с Athlon 5370 от которой я не в восторге, например потому что из «раннего 16h» выбросили IOMMU: возможно переделывали его под этот бэкдор PSP который не успели вовремя сделать, вот и PSP и IOMMU нет. Поэтому поглядываю на десктопную плату 15h ASUS A88XM-E с сокетом FM2+ куда можно установить например Richland A10-6700. Правда её пока не приняли в coreboot, но патч уже есть - https://review.coreboot.org/c/coreboot/+/30987

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 4)
Ответ на: комментарий от steeels

Разумеется интересна как и всё coreboot+AMD-шное, жаль времени не хватает на кучу различных проектов (например прошивку для роутера уже сто лет никак не пересоберу) - к тому же, было бы здорово если бы ты тоже немного овладел магией коребута. Поэтому лучше ты сам начинай пробовать, а мы с сообществом поможем тебе по возможности.

Кстати, я не знаю какой БИОС-чип на твоей плате. Он в сокете и вытаскивается? Если нет, у тебя уже есть программатор с прищепкой, чтобы прошивать его без выпаивания? Почитай комменты здесь - Релиз Coreboot 4.8 (комментарий) - и лучше заранее закажи программатор с прищепкой и что-то для снятия начальных логов загрузки с твоей платы.

SakuraKun ★★ ()
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: комментарий от SakuraKun

Разумеется интересна как и всё coreboot+AMD-шное, жаль времени не хватает на кучу различных проектов

Я, скорее, интересуюсь, куда потом эту плату деть: она пока стоит в домашнем серваке с парой 4284, который я скоро поменяю.
У меня у самого времени мало, поэтому интересуюсь готовыми гайдлайнами по дебагу, чтобы не пробивать стены самому.

Кстати, я не знаю какой БИОС-чип на твоей плате. Он в сокете и вытаскивается

Микруха в кредле, на матери есть компорт. Но вообще весь этот стаф у меня в наличии, тк случается я занимаюсь всякой электроникой.

steeels ()
Ответ на: комментарий от steeels

Самое главное чтобы было чем смотреть логи загрузки если плата не грузится до ОС - а дальше ты эти логи можешь попробовать понять сам, или отправить в список рассылки coreboot чтобы подсказали что к чему - https://doc.coreboot.org/community/forums.html

SakuraKun ★★ ()