LINUX.ORG.RU

Что умеет Coreboot?

 ,


1

2

Добрый(-ое) вечер/утро, в общем заинтересовала тематика Open-source биосов и нашёл Coreboot. Решаюсь поставить и заодно разобраться в том, что поддерживается то, что мне необходимо.

На руках ноутбук: Lenovo G505s (APU), потребности закрывает. Но стало интересно, с помощью Coreboot можно настроить ту же оперативную память, частоты и т.д.? Ну и, видеопамять подтянуть побольше, вместо 768 метров.

За одно интересно, есть ли толк от GUI-версии настроек железяк в Coreboot? Или проще обычным обойтись конфиг файлом?


Я себе пытался установить на данный ноутбук, у меня не собралось и я бросил. Видеопамять увеличить нельзя, частоты ЕМНИП тоже нельзя. Единственный профит от coreboot это отсутствие зондов (забыл название) и отсутствие блэклиста на wifi модуль.

P.S кастану пожалуй @SakuraKun, может поправит меня, он намного больше разбирается в данной теме.

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

Если память не изменяет можно

1)в сборке coreboot можно менять значения на любые которые захочешь
2)в одной из менюшек coreboot, там будет меню где можно включить или выключить debug ниже насколько я помню можно изменять значения видеопамяти

А вообще лучше пытаться это менять как то через параметры ядра и тд

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

В общем и так понятно, что Coreboot не панацея и много не может дать.. К примеру, в чем Coreboot лучше стокового Bios в G505s?

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

Использую сборочку coreboot, libreboot на другом железе. По сравнению с оригинальным биосом работает пошустрее, поддерживается больше железок. Настройки нету, максимум можно выбрать с какого устройства грузится. Это coreboot с seabios. Чтобы изменить какие-либо настройки в этой сборочке её надо пересобрать.

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

Я понял, спасибо большое! В таком случае, встречный вопрос: Имеются ли аналоги стокового БИОС для работ с железом по типу оперативной памяти? Пусть даже и если портированное

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

unixnik , fonera , SPRATAY , vbcnthfkmnth123 : в опенсорсном БИОСе coreboot для Lenovo G505S, а также для других AMD'шных плат семейств fam15h / early fam16h - таких как десктопные ASUS A88XM-E / F2A85-M / AM1I-A - всё это можно настраивать:

1) тайминги оперативки - или выбрать профили JEDEC / XMP1 / XMP2 (значения подтягиваются из SPD памяти модулей оперативки) - или вообще детальный кастомный профиль путём выставления кучи шестнадцатеричных параметров, которые будут принудительно использованы вместо значений из SPD (думаю, такой супердетальности нет ни в одном проприетарном UEFI) . Настраивается в menuconfig перед сборкой (по-моему эти настройки прячутся в разделе Chipset, но можете перепроверить поиском).

2) размер видеопамяти, выделяемой из оперативки встроенной видеокарте - менять не пробовал, т.к. у меня G505S с двухгиговой дискреткой, да и оперативка нужна для кучи виртуалок (хотя этих почти 16 гигов пока что всё же хватает) + вполне возможно что эта настройка не вынесена в menuconfig и править придётся в исходниках, но она точно где-то была

И в том и другом случае, эти настройки выставляются перед сборкой в menuconfig и таким образом вкомпиливаются вовнутрь coreboot'а. Из плюсов: настройки никогда не портятся и не слетают, даже при разряженной CR2032, т.к. CMOS-память не используется вообще. Это даёт суперстабильность. Но если вы установите несовместимые настройки - например, выберете профиль XMP1 а у данных модулей памяти он отсутствует / повреждён, или какой-то дикий кастомный - то ваш комп будет застревать при загрузке БИОСа и потребуется перепрошивка программатором. Некоторые подробности вы можете узнать по запросу «Lenovo G505S Hacking» , но если что-то осталось неясным - пожалуйста, спрашивайте

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

coreboot - лучший БИОС для работы с оперативкой. Например: слетела память SPD - можно зафорсить кастомный профиль и перепрошить после загрузки в ОС; обычные БИОСы же будут тупо застревать и тут для оживления этих модулей памяти не обойтись без спецпрограмматора за 5к

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

Не планируется какой-нибудь гуй в стиле классических биосов? Много параметров выставляется только во время сборки. Хотелось бы иметь возможность их настраивать без пересборки.

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

Спасибо за основную информацию! Я лично слабо разбираюсь в том, как редактировать исходники и их компилировать, максимум обходился компиляцией ядра под Линь. Имеются ли ссылки на скачку csb_patcher или иные ресурсы для ручного добавление патчей?

Касательно оперативной памяти, в моём случае, стоит 16 GiB, но мне столько и не нужно. С удовольствием бы отдал видеоядру 1,5 GiB если оно поддерживается.

Так же вопрос: разгон того же видеоядра в рамках дозволенного и выше возможен?

Заранее спасибо за ответ!

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

Тоже интересно.. С одной стороны, постоянно прошивать Coreboot в случае чего через разбор, не столь удобно..

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

МОжно не разбирать а использовать flashrom из системы прям, ведь ноутбук на винде может обновить свой биос ;)

Значит и из линукса можно прошиваться

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

Можно прям из меню выставлять если что перед сборкой)

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

Ещё такое не делал, может позже попробую. А пока.. Бук в полу разобранный, чтоб быстро подобраться к чипу

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

Портани Dasharo и ещё есть oem пайлоад с всяких system76 и прочих, так что если хочется меню с настройками оно есть, но компиляй сам

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

Возьми кусочек макетной платы отпили в размер чипа чтобы к нему припаять ножки (как площадка от клипсы на программаторе)

Далее эту площадку припаяй сверху чипа чтобы длинна ножек была такой, чтобы просверлить отверстия в корпусе и они выступали наружу и ты мог клипсой снаружи их цеплять

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

Если кишки у ноута прям идентичны, должно пойти. Но, никто гарантии не даёт))

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

Я скорее попробую что-нибудь своё написать. Я когда первый раз корку тыкал, то немного изучил вопрос.

С другой стороны есть лень, которая меня останавливает, ведь настройки биос нужны очень редко.

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

Не планируется какой-нибудь гуй в стиле классических биосов?

По сути он уже есть, для SeaBIOS это дополнение nvramcui - но я им не пользуюсь т.к. 1) туда нужно как-то выносить настройки 2) появляется зависимость от содержимого CMOS 3) все «идеальные» настройки я выбираю на этапе сборки БИОСа и впоследствии не возникает желание что-то менять - в отличие от проприетарщины, где по дефолту какая-то важная фича вроде IOMMU может быть попросту выключена

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

как редактировать исходники и их компилировать

Вся инфа по пошаговой сборке coreboot'а для AMD'шных плат без бэкдора PSP - есть в руководстве http://dangerousprototypes.com/docs/Lenovo_G505S_hacking , в том числе и то как получить последнюю версию скриптов restore_agesa / csb_patcher избавляющих от ручного труда

С удовольствием бы отдал видеоядру 1,5 GiB если оно поддерживается

Непосредственно перед запуском команды make - т.е. уже после применения restore_agesa, csb_patcher и др. этапов - откройте файл ./coreboot/src/mainboard/lenovo/g505s/buildOpts.c и попробуйте пособирать coreboot с другими значениями параметра

#define BLDCFG_UMA_ALLOCATION_SIZE		0x2000 /* (0x2000 << 16) = 512M */

разгон того же видеоядра в рамках дозволенного и выше возможен?

Чисто технически это возможно, т.к. программная библиотека AGESA для низкоуровневой инициализации наших AMD'шных плат (в случае G505S - директория ./coreboot/src/vendorcode/amd/agesa/f15tn/) - на 100% опенсорсная. Но неудобно, т.к. названия относящихся к этому делу параметров неочевидны и разбросаны по библиотеке, а при неудачной попытке мы получаем нерабочую сборку coreboot. Если вам нужна дополнительная производительность, чем копаться в этих исходниках, куда проще будет: или перейти на G505S с дискретной видеокартой (или целиком, или сменить материнку с LA-A092P на LA-A091P + систему охлаждения с одной на с двумя теплотрубками и радиаторами), или собрать десктоп на A88XM-E + RX590 (считаю последней относительно свободной видеокартой, т.к. она без бэкдора PSP), или ту же RX590 подключить к G505S через специальный переходник в MiniPCIe если уж так хочется погонять в SuperTuxKart на ультрах раз в год

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

Если один раз перепрошился на coreboot (на G505S - разумеется после обновления KB9012 до последней версии, т.к. аппаратно это делать очень неудобно), то в дальнейшем можно перепрошиваться программным путём в Linux'е через режим internal софта flashrom (при этом ядро должно быть «обычным» - т.е. не какое-нибудь «hardened» и грузиться с флагом в GRUB'е «iomem=relaxed»). Правда, если вы окирпичиваете неудачной экспериментальной сборкой и не можете загрузиться в ОС, то программатор всё же придётся расчехлять

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

Замечу, что режим программной перепрошивки БИОСа «internal» софта flashrom работает далеко не на всех платах + он только обновляет БИОС, в то время как проприетарная виндовая утилита может обновлять ещё и прошивку какого-нибудь EC-контроллера (KB9012 в случае G505S). Именно поэтому, прежде чем как шить coreboot на G505S, необходимо обновить UEFI до последней версии - не ради самого UEFI, а для EC KB9012. Иначе придётся пердолиться с перепрошивкой KB9012 через клавиатурный порт как в этой инструкции (не так уж и сложно, на самом деле, но придётся приобретать шлейф и изготавливать кастомный переходник из него)

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

Но как не крути это было бы проще в поиске и вслучае если ты эти настройки запорол или выставил не реальные значения можно было бы обойтись без программатора, плюс не забываем что нужно это чательно протестировать, nvramcui выглядит не очень

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

обновления KB9012

мне постоянно мешает проблема несрабатывания кнопок на ноутбуке. Несколько ноутов (5) все с процессором AMD и UEFI заместо БИОСа — Lenovo G505S, HP probook 655 G1, ещё один более старый hp, один старый нетбук samsung и новый ноут asus с рязанью 7-го поколения. Периодически бывает, что нажимаешь на кнопку и не срабатывает. подозреваю, 2-ой пункт по ссылке https://ru.wikipedia.org/wiki/Дребезг_контактов#Программные_способы_исключени...

На каком сайте возможно познакомиться с девушкой? (комментарий)
http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate
https://reservice.pro/upload/Datasheets/kb9012qf.pdf

Буду перепрошивать. Ещё от этого контроллера зависит работа вентилятора. В Lenovo G505S вентилятор никогда не отключается, надо исправить.
Как только делать/модифицировать прошивку? по ссылке выше упомянуты даташиты, это нужно самому микрокод писать?
Писец уже достало, что кнопки постоянно не срабатывают.

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

то программатор всё же придётся расчехлять

Какой-нибудь CH341 с прищепкой? Если да, то на руках имеется. Уже попробовал поставить Clean-версии оригинального биоса, ничего сложного не было)

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

Писец уже достало, что кнопки постоянно не срабатывают

Может быть, дело в износившейся/засорённой клаве? Если так, то рублей 500 на её замену решили бы проблему. У меня все кнопки всегда срабатывают, печатаю через силиконовую накладку - так и клава не засоряется, и нажатия чуть более тугие и «правильные». Сейчас попробовал без неё - совсем не то по ощущениям

Как только делать/модифицировать прошивку?

Посмотри работы Paul Kocialkowski по реверсу прошивки KB9012 в процессе попытки создания её опенсорсной альтернативы Origami EC для Lenovo G505S: там есть описание как разрабатывать и отлаживаться. Код: emu8051 , Origami EC . Видео: KB9012 EC Firmware Reverse Engineering . Презентации:

2016 - KB9012 Embedded Controller firmware reverse engineering

2017 - Origami-EC status update for the G505s

2018 - Simplifying the Use of Free and Upstream Boot Software with Origami

2018 - Origami-EC : vers un micrologiciel libre pour Embedded Controller

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

Может быть, дело в износившейся/засорённой клаве?

нет! сменяно несколько. + то же со внешними. и мышами. и так на 5 ноутах.

не знаешь, в HP probook 655 G1 тоже KB9012?

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

Тут явно проблема не в софте)) Я бы пробовал метод исключения, это смена локации

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

А вне твоего помещения, тоже лаги?

лет 10 назад или чуть больше уходил с ноутом hp pavilion dv7 6b04er в сторону леса, наверное меньше километра, для проверки внешней клавиатуры. она была безпроводная. Было зафиксировано несрабатывание. Какое-то время несколько лет до этого эта клава работала исправно. Ещё помню, как это началось. год ~2011. стали возникать несрабатывания моей любимой мышки. Это ещё в другом городе было.

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

Ну это не софтовая проблема, это очевидно и не проблема контактов, быть может проблема в восприятии или еще чем то, пробовал дать технику другому человеку на поюзать?

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

быть может проблема в восприятии

если я точно нажал кнопку до упора, и она не сработала, это может быть проблемой в восприятии?

пробовал дать технику другому человеку на поюзать?

нет. во-первых я никому не доверяю. человек может сказать всё-что угодно. во-вторых, учитывая, что всем пох что у них сенсоры на смартфонах иногда не срабатывают (я же вижу, как это происходит у тех, кто пользуется смрадфонами), они могут сказать «всё нормально».

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

не знаешь, в HP probook 655 G1 тоже KB9012?

На фотках матплаты которые нашёл в инете, стоит какой-то SMSC. а почему ты выбрал именно его в качестве кандитата, был же какой-то жирный MSI гамерский с тем же A10-5750M процом

несрабатывания

Может, пока тебя нет дома, кто-то разбирает твои клавы встраивая в них «жучки», и при этом они немного портятся?

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

Может, пока тебя нет дома, кто-то разбирает твои клавы встраивая в них «жучки», и при этом они немного портятся?

на этой планете всё может быть. я уже ничему не удивлюсь. учмтывая тот факт, что все вновь купленные клавиатуры первые дни работают хорошо, потом начинается. кстати, есть одна клава, которая работает стабильнее других, возможно даже, не было ни одного несрабатывания. это Гарнизон GK-100.

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

Зависит от железа. в G505S о котором идёт речь, нет ни Intel ME ни AMD PSP, к тому же опенсорсный БИОС coreboot для этого старого AMD не содержит в себе подозрительных блобов - все маленькие и изученные (кроме XHCI для USB 3.0 которым обычно не пользуются т.к. хватает и USB 2.0) - в результате с переходом на coreboot последние возможные зонды пропадают

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

К счастью амуде себе впендюрила PSP значительно позже, так что можно удовольствоваться и 4 ядрами и 16-32 ГБ оперативки и RX590 видеокартой (последняя без PSP) . Или даже сервером KGPE-D16 с двумя 16-ядерными Opteron'ами + 256 ГБ оперативки

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

какой-то SMSC

а как узнать какой? что-нибудь про них знаешь? шьются?

а почему ты выбрал именно его в качестве кандитата,

я сначала леново приобрёл. кое-что не устроило. конкретно: невозможность выключать кулер. Ну и эргономика у него плохая — угол раскрытия крышки маленький, и неприятные острые углы, особенно горизонтальная кромка, которая упирается в живот, когда держишь ноут на коленках (нет, я не толстый). И он не умеет грузиться с SD карточки, хотя, возможно, с coreboot'ом умеет.
потом приобрёл этот hp. у hp в биосе есть опция, чтобы кулер не всё время работал, т.е. он выключен, пока не поднимется температура до определённой отметки. этот ноут мне гораздо больше нравится, чем g505s. более приятный, комфортный, эргономичный. может грузиться с SD карты.

был же какой-то жирный MSI гамерский с тем же A10-5750M процом

MSI GX70?
он 17". громоздкий. после прочтения этого комментария задумался о его приобретении. но там звук от креатив саунд бластер. из-за этого не хочу. но там есть минимум 3 его модификации, ещё не изучил, но наверняка на всех эта звуковуха. ну и у него куча светодиодов. придётся выпаивать, как я это сделал на моём hp.

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

кстати, есть одна клава, которая работает стабильнее других, возможно даже, не было ни одного несрабатывания. это Гарнизон GK-100.

оказалось, нет. так же не срабатывает периодически. проверил.

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

Всё дело в карме)

Без шуток, у меня знакомый звал меня когда накупал железо условно рабочее, так вот без меня оно оказывалось сломанным, если приезжал я, оно начинало работать и работало долгие годы потом =)))

Всё дело в заряде…

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

Ещё наблюдение интересное, у меня железо работает, отправлю паре человек, у них не работает или глючить начинает

Если приезжаю я, оно не глючит, ставим тесты, выходим на улицу тест проходит, возвращается пациент на видео связи без меня, тест падает =)))

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

Всё дело в заряде…

ты думаешь, поле или излучение тела влияет на срабатывание кнопки? маловероятно. скорее какой-то ИИ. в 1990-2010 не было такой проблемы что кнопки не срабатывали. либо, тогда контроллеры были другие.

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

Ну я поделился не то что случаями а конкретными экспериментами, действительно твоё излучение от тела может влиять, это доказано и военные и разведчики это берут во внимание

Но при этом не отменяю факта техногенного влияния, такого как жесткий эми фог

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

Эми + влажность = быстрое окисление

Это тоже как вариант, клавиатуры это антены по факту их устройства, патчи))

Вот и тащат на себя эми

Попробуй например оптическую механику)

RedTerror
()
Ответ на: комментарий от SakuraKun
[    0.542528] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.542537] software IO TLB: mapped [mem 0x000000007e0c1000-0x00000000820c1000] (64MB)
[    0.542640] LVT offset 0 assigned for vector 0x400
[    0.542708] perf: AMD IBS detected (0x000000ff)

SWIOTLB какой-то буфер для устройств ввода. Возможно, причина неправильной работы клавиатур в этом.
https://wiki.gentoo.org/wiki/IOMMU_SWIOTLB - там написано, что нужно задать размер на 4Mb меньше, чем есть, для избежания глюков. Не получилось, не знаю как прописать 60Mb. пробовал swiotlb=,60 — всё равно в dmesg 64. пробовал swiotlb=,1 - то же самое.

пробовал вообще отключить это SWIOTLB — не получалось. в dmesg всегда есть

PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Пробовал:
swiotlb=noforce — с этим вообще не стартует
noats
iommu.forcedac=0|1
iommu=force amd_iommu=force_isolation amd_iommu=irtcachedis

его можно как-то отключить?

teod0r ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.