LINUX.ORG.RU

ThinkPad T430 Coreboot

 , , ,


0

1

SakuraKun

А что в Коребуте SATA HotPlug не работает? И можно ли прошивать последующие разы через internal программатор? А то у меня flashrom говорит:

flashrom v1.0.1 on Linux 5.0.7-arch1-1-ARCH (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
coreboot table found at 0x7ff68000.
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and https://flashrom.org/Laptops for details.

If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Aborting.
Error: Programmer initialization failed.

P.S. и еще framebuffer не ставит нативное разрешение консоли: https://imgur.com/a/w3c3vg3

SATA HotPlug, так же как и другие фичи, могут работать в зависимости от модели, поддерживаемой коребутом, т.к. у них есть разный платформоспецифичный код. Например, у платы ASUS M4A785T-M на строке 110 в файле https://github.com/coreboot/coreboot/blob/master/src/mainboard/asus/m4a785t-m/acpi/sata.asl я вижу

/* SATA Hot Plug Support */
и т.д., а у T430 такого файла/кода я что-то не вижу... Думаю, это так же как IOMMU: у одних работает, а у других - нет; и необязательно ввиду отсутствия аппаратной поддержки, просто может быть код IOMMU конкретно для этой платформы не допилили. Про SATA HotPlug я ничего не знаю, если честно, - даже того, нужна ли какая-то аппаратная поддержка или он может быть чисто софтовым - поэтому советую выяснить, возможен ли SATA Hot Plug на T430 даже чисто теоретически, ну и спросить в списке рассылки где сидят коребутчики - https://mail.coreboot.org/postorius/lists/coreboot.coreboot.org/ (лучше подписаться перед отправкой, чтобы ваше сообщение не застряло в антиспам фильтре)

И можно ли прошивать последующие разы через internal программатор?

Это тоже зависит от конкретной модели, её EC контроллера и т.д. Например у меня на амдшном G505S такая возможность присутствует, поэтому командой

sudo flashrom -p internal:laptop=force_I_want_a_brick,amd_imc_force=yes -w coreboot.rom
я могу заставить flashrom прошить, и это сработает. Но та же команда (возможно с чем-то другим вместо ",amd_imc_force=yes" или просто без этого, если не AMD) в зависимости от EC контроллера и прочих особенностей платформы - может всё просто повесить, а если запись уже успела начаться - то комп временно «окирпичится» и придётся доставать внешний программатор. Но если вы и так собрались внешним прошивать, можете попробовать зафорсить - вдруг получится! - только перед этим лучше скачать самый последний flashrom и собрать его из исходников, если вы установили из репозиториев дистрибутива то он у вас может быть несвежим. И разумеется поискать, пробовал ли кто-то прошить через internal на вашей модели, и если да - то с какими флагами.

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

и ещё framebuffer не ставит нативное разрешение консоли: https://imgur.com/a/w3c3vg3

к сожалению не знаком с особенностями T430, и тем более без вашего коребутовского конфига перед глазами сложно что-то сказать по этому поводу. Попробуйте поиграть с опциями в «Devices ---> Display --->»

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

возможен ли SATA Hot Plug на T430 даже чисто теоретически

На дефолтной прошивке работало. Правда я еще ME обрезал. Это может повлиять?

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

Нет, SATA Hot Plug не должен зависеть от состояния ME (хоть и не разбираюсь в интелах, но надеюсь что до такой степени интеграции этого бэкдорчика дело пока не дошло). Не все функции, доступные в проприетарной прошивке, обязательно будут доступны в coreboot - и наоборот (например: с проприетарной прошивкой на G505S IOMMU не работал, а с coreboot - работает). Можешь попробовать посмотреть максимально похожие коребутные платы где есть SATA Hot Plug, сделать по аналогии - и закоммитить в коребут, разумеется :) Хотя я не совсем понимаю, зачем в ноуте хотплаг...

Если способ прошивки «internal» не работает, то для обновления coreboot разбирать придётся в любом случае. Просто перед запланированным разбором можешь попробовать internal - и если сработает - то траты времени удастся избежать ;)

P.S. такие темы лучше в Linux Hardware, чтобы не пропустить; хорошо ты cast сделал

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

Необязательно. Ты можешь перезаписывать только регион bios через --ifd -i bios -N, bios всегда разлокнутый относительно fd, если ты его специально не заблокировал.

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

Во flashrom начиная с 1.0 если параметр --ifd, при его наличии layout прочитается из ifd того файла который ты ему даешь на прошивку. Можно и по старинке передавать layout через --layout.

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

CBFS лежит в bios разделе.

Наверное ты имеешь в виду, что например ты урезал ME и потом увечичил раздел bios засчет освободившегося места путем изменения layout-а.

layout находится в ifd, думаю программно перезаписать ifd получится только после того как он будет разлочен через ifdtool -u, т.е. сперва нужно разлоченный ifd прошить внешним программатором.

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

Это скорее у связки SeaBIOS+GRUB есть некоторые преимущества, например SeaBIOS может загружать BSD или Windows. Но мне это не нужно, поэтому у меня просто GRUB, в этом случае преимущество, наверное, скорость (ну и простота).

ch1p ()