LINUX.ORG.RU

Натянуть сову на глобус или собрать coreboot 4.11 для ASUS P5Q

 


0

3

Доброго времени суток, LOR! Некоторое время назад заинтересовался сборкой coreboot для материнской платы ASUS P5Q, обнадёживало упоминание здесь очень даже похожей платы ASUS P5QC (отличие в невозможности подключить к последней TPM-модуль, если я всё правильно прочитал), под которую всё успешно собралось, но в конце сборщик вывел такое сообщение:

Built asus/p5qc (P5QC)

        ** WARNING **
coreboot has been built without an Intel Firmware Descriptor.
Never write a complete coreboot.rom without an IFD to your
board's flash chip! You can use flashrom's IFD or layout
parameters to flash only to the BIOS region.

Я знаю, что данный пункт вроде находится в Chipset ---> Add Intel descriptor.bin file, но хотел бы уточнить, где его взять, если этот файл, поскольку ifdtool говорит следующее (что на образ для P5Q, что на образ для P5QC):

[jenrus@bbox ~]$ sudo ./coreboot/util/ifdtool/ifdtool -d P5QC-ASUS-2103.ROM 
File P5QC-ASUS-2103.ROM is 1048576 bytes
No Flash Descriptor found in this image
No Flash Descriptor found in this image

[jenrus@bbox ~]$ sudo ./coreboot/util/ifdtool/ifdtool -d P5Q-ASUS-2209.ROM 
File P5Q-ASUS-2209.ROM is 1048576 bytes
No Flash Descriptor found in this image
No Flash Descriptor found in this image

Ответьте, пожалуйста, на вопросы нуба. Ну, ещё каст на удачу: @SakuraKun


Итак, воспользовавшись секретными техниками гугл-фу, я узнал, что для материнских плат с южным мостом ICH10 может отсутствовать не только Intel ME/AMT, но и сами регионы как класс (тык), поэтому дескриптора может просто и не быть. Может кто-нибудь это поподробнее разъяснить за специфику coreboot и Intel?

jenrus
() автор топика
Ответ на: комментарий от K50

Спасибо за потверждение моих догадок! Получается, я могу смело игнорировать такую вещь, как Intel Flash Descriptor (IFD)?

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

Не, я тебе соврал. Оказывается есть там me, просто проблемы с ним появились с мостов 5-ой серии, поэтому я об этом не знал. На вин-рейде пишут что дескриптор есть на всех интеловских платформах, что, в принципе, логично. Попробуй выдрать дескриптор из родного биоса intel flash image tool v5.

Хотя это всё теория. Может действительно конкретно в этом биосе и нет. Я бы попробовал зашить так. Программатор есть же что бы откатиться в случае чего?

K50
()
Последнее исправление: K50 (всего исправлений: 2)
Ответ на: комментарий от steemandlinux

Флешку на горячую переткнуть? Можно, но колхоз же.

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

Да, есть старый-добрый CH341A и второй компьютер, но запускать всё-таки тревожно, поэтому лучше завтра, на свежую голову :)

jenrus
() автор топика

Сбэкапь то что в этом чипе, и смело прошивай коребут. Если не грузится, сможешь прошить прежнюю прошивку при помощи CH341A и накидать нам вопросов. + Здорово если есть возможность вывести логи коребута и показать их нам, пригодится если система не грузится.

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

К сожалению, COM-кабель ещё не доехал :(

jenrus
() автор топика
Ответ на: комментарий от K50

Нашёл-таки Intel FIT v5, но он отказался работать и с моим дампом, и с заводским образом, выдавая Unrecognized binary format, поэтому смею предположить, что у ASUS всё очень хитро

jenrus
() автор топика
Ответ на: комментарий от K50

@K50 @SakuraKun , у меня две новости:

  • Хорошая: сборка под P5QC встала и запустилась без допилов
  • Плохая: почему-то теперь подмерзает изображение на экране (особенно при прокручивании изображения), но при этом комп сильно не нагружен, не знаю, на что грешить. Ну, ещё теперь вентиляторы крутятся на всю катушку, но я так и думал, на пробуждение по клавиатуре даже смотреть не буду - точно не работает :)
jenrus
() автор топика
Ответ на: комментарий от jenrus

Только что провёл тест играми, всё работает так же (вроде бы), проверял при помощи POSTAL 2

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

А теперь замечания по делу: не работают часы (возвращают время на момент отключения) и пищалка (или так и должно быть?)

jenrus
() автор топика
Ответ на: комментарий от steemandlinux

flashrom прекрасно поддерживает мою плату, ну и как я уже говорил, имею CH341A, стоит пару баксов у китайцев :)

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

Как мне удалось выяснить эмперическим путём, что проблемы возникают именно в FireFox, в Chromium же такой проблемы нет ¯_(ツ)_/¯

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

У меня тоже не получилось. Хотя в принципе AMIBCP и MMtool этот биос разбирается.

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

на клавиатуре горит NumLock, но компьютер выключен

Я такое видел на компьютерах со штатными прошивками.

i-rinat ★★★★★
()
Ответ на: комментарий от jenrus

почему-то теперь подмерзает изображение на экране

Твой конфиг (./coreboot/.config) - в студию! Может там можно что-то улучшить

вентиляторы крутятся на всю катушку

можно установить аппаратный регулятор скорости вращения в цепь между вентилем и матплатой

не работают часы

возможно, разрядилась батарейка?

пищалка

у меня тоже такая проблема на одной плате есть (а на другой похожей всё норм!), пока не разбирался

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

возможно, разрядилась батарейка?

Нет, она точно работает (и кисленькая)

можно установить аппаратный регулятор

Можно, но это ещё расходы, потому что если уж брать - то вертроллер от Макса Крюкова aka Fagear

конфиг

Сейчас выложу отдельным постом ;)

jenrus
() автор топика
Ответ на: комментарий от K50

Возьму в разработку ваше предложение, а что по поводу часов - думаю, coreboot просто не читает их, я же не добавлял их поддержку через Generic drivers, поэтому вопрос: если я поставлю обратно родной биос, то чем можно определить часы и их адрес? dmidecode или что-то другое?

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

Адрес в каком плане? В памяти?

Вообще это самая базовая функциональность юга, кварц генерит, rtc часть юга запитана - часы должны идти и сохраняться. Это вообще вряд ли как-то зависит от прошивки. С настолько древними платформами опыта, к сожалению, не имею.

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

Попробуй включить:

Devices -> [*] Enable PCIe Common Clock, [*] Enable PCIe ASPM, [*] Enable PCIe Clock Power Management, [*] Enable PCIe ASPM L1 SubState

Generic Drivers -> драйвера RTC (я не знаю что нужно для твоей платы)

Console -> Default console log level поменять с 7 на 8 (больше полезных логов)

Payload -> SeaBIOS можно и master выбрать (его почти никогда не ломают), Secondary Payloads -> включить coreinfo, чтобы потом полазить по его менюшкам и возможно узнать полезную инфу, ну и tint и будет доступен тетрис в биосе

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

Это всё, конечно, хорошо, время попробую починить (может, оно и не сломано), но Вы лучше объясните, пожалуйста, по-человечески, как отправить board_status, т.е. добавить свою плату в этот список (ну и в репозиторий, чтобы любой желающий мог собрать? :-) ) Не хочу оставлять свой «труд» на задворках истории

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

Зарегайся на review.coreboot.org и желательно закоммить поддержку P5Q как вариант P5QC: то есть нужно изменить файлы Kconfig коребута так, чтобы в make menuconfig появилась возможность выбора P5Q, хотя для сборки используются исходники от P5QC, и выложить эти изменения - https://www.coreboot.org/Git . Но если лень, можешь хотя бы отписаться в список рассылки coreboot https://mail.coreboot.org/ что сборка для P5QC работает на P5Q.

Затем, используй скрипт board_status https://www.coreboot.org/Board_Status для добычи файлов отчёта: конфиг коребута, его лог загрузки, лог линуксового ядра (осторожно, он может содержать твой MAC-адрес и прочие серийники, лучше вручную отредактировать и удалить оттуда) и т.д. Это удобнее делать если директория с исходниками coreboot находится на компе под который этот коребут компилили. Если что-то не получается, посмотри https://mail.coreboot.org/pipermail/coreboot/2018-April/086488.html и можно добытые файла отчёта вручную скопировать в свежесклонированный репозиторий board_status и отправить как обычный коммит.

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

Конец?

Итак, оформил и отправил коммит, буду ждать ответа. Отчёт отправил, но пришёл он почему-то для P5QC (пробежал свой конфиг вдоль и поперёк, там от P5QC только CONFIG_MAINBOARD_DIR), ну да ладно, работает же :)

jenrus
() автор топика
Ответ на: Конец? от jenrus

Ещё нет ;)

На тебя ругается Jenkins из-за зафейленного lint.lint-extended-020-signed-off-by - https://qa.coreboot.org/job/coreboot-gerrit/113626/ . Нужно было коммитить как git commit -s : https://www.coreboot.org/Git#Commit_messages . Попробуй исправить через git amend, или - если не получится - Abandon (забрось) этот коммит и правильно отправь новый такой же.

SakuraKun ★★★★★
()
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: Ещё нет ;) от SakuraKun

@SakuraKun, мне очень приятно, что даже после завершения основной работы над портом, Вы комментируете мою деятельность здесь. Кстати, как оказалось, работы предстоит ещё немало (спасибо Angel Pons за его комментарии и советы), так что действительно, это далеко не конец

А вот с тонкостями работы с Gerrit и Jenkins я-таки смог разобраться :)

jenrus
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.