KolibriOS в BIOS ( coreboot / SeaBIOS ) на G505S - успех!

Using Kolibri in embedded systems
  • Удалил все видеобиосы из образа и повторил эксперимент с внешней видеокартой.
    Изображения нигде нету - ни на порте видеокарты, ни на порте VGA ноутбука
  • floppy121 wrote:
    olodar wrote:Кстати, раз биос распотрошили, то можно как-то сделать в корбуте поддержку turbocore'a?
    ну как распотрошили - наизвлекали оттуда огромную кучу бинарников, но понять какие именно из них относятся к TurboCore не так уж и просто, для этого придётся поработать HEX-редактором и когда найдёшь нужный кусок - ещё как-то грамотно суметь встроить его в coreboot. Все бинарники скоро выложу
    Просто очень интересно, как в корбуте себя поведет машина (если разогнать процессор с помощью turbocore). То есть, будет ли частота так же проседать при разгоне, или будет себя вести стабильно. Кстати, на корбуте, вроде как, заметил, что напряжение на проце чуть выше и оно не скачет. Мб из-за того, что процессору нехватало напряжения он сбрасывал частоты? Причем, интересно: минимальная частота у данного проца - 1,4 гГц, а частота дропалась до 800 мГц. Если получится разогнать этот проц, то это будет очень неплохо, т.к. два слабых ядра - узкое место в данном ноуте (не считая тормозного харда, но это решается просто заменой на SSD). Кстати, установил хард в оптибэй заместо оптического привода (у меня привод попался какой-то бракованый - он просто портил диски при записи каким-то образом, а также из-за него иногда ядро выпадало в панику просто так, долгое время не мог, что-ж это за проклятье такое, да он и нафиг сейчас не нужен, всю инфу скопировал на харды).
    floppy121 wrote:Удалил все видеобиосы из образа и повторил эксперимент с внешней видеокартой.
    Изображения нигде нету - ни на порте видеокарты, ни на порте VGA ноутбука
    Печально. Интересно, почему так? По идее, изображение должно выводится без проблем. Мб в корбуте какие-нибудь опции надо включить, отвечающие за иннициализацию внешней видеокарты или других устройств pci-e?
    Кстати, на днях, буквально завтра, должен придти райзер mini pci-e на pci-e x16, вот и попробую тоже затестить, может, у тебя райзер неисправен?

    Кстати, я бы хотел помочь с этим всем разобраться, да только я 0 в программировании, а темболее, уж, в низкоуровневом.
    Вообще не понимаю, как эти коды всякие связываются с самой микросхемой и что-то там делают...
  • olodar wrote:Просто очень интересно, как в корбуте себя поведет машина (если разогнать процессор с помощью turbocore)
    Может быть и можно как-то сделать так чтобы Turbocore включался по дефолту при загрузке,
    но ведь по идее это ведь можно сделать в операционной системе? Для винды - BAR_EDIT, для Linux:
    1) https://github.com/kevinlekiller/amdctl
    2) https://github.com/mh0rst/turionpowercontrol
    Например, процессор A8-4500M поддерживает частоты от 1900 МГц до 2800 МГц (turbocore)
    https://gist.github.com/SuicSoft/ea59b5 ... 6c4dae331d
    При помощи этих утилит можно выставлять разные P-State, и т.к. A10-5750M тоже поддерживается,
    наверное его можно переключить в P-State 0 (pb0) соответствующий Turbocore
    olodar wrote:установил хард в оптибэй заместо оптического привода
    я даже большой 3.5" хард успешно подключал заместо оптического привода - но он был запитан от внешнего блока питания ATX, на котором через перемычку закоротил чёрный провод с зелёным вместо кнопки включения. То есть с ноутом он контактировал только через SATA-кабель данных. Запитывать такой хард от материнской платы ноутбука - опасно, т.к. дорожки платы не расчитаны на токи питания большого жёсткого диска и материнка может сгореть! Поэтому только через ATX блок питания
    olodar wrote:
    floppy121 wrote:Удалил все видеобиосы из образа и повторил эксперимент с внешней видеокартой.
    Изображения нигде нету - ни на порте видеокарты, ни на порте VGA ноутбука
    Интересно, почему так? По идее, изображение должно выводится без проблем. Мб в корбуте какие-нибудь опции надо включить, отвечающие за иннициализацию внешней видеокарты или других устройств pci-e?
    Да я уже включал в коребуте всё что хоть как-то могло повлиять на результат, + выключил всю защиту которая в теории могла мешать: но внешняя видеокарта все равно не заводится! я её видел в lspci, но спихнуть на неё графические вычисления для игры через DRI_PRIME не удалось т.к. весь рабочий стол и прочая графика отвалилась, была голая консоль, и игру было запустить вообще невозможно - а так бы я проверил в ней FPS
    olodar wrote:Кстати, на днях, буквально завтра, должен придти райзер mini pci-e на pci-e x16, вот и попробую тоже затестить, может, у тебя райзер неисправен?
    Проверял с другим ноутом, кстати тоже AMD-шным но значительно более старым, даже оперативка DDR2 - и там всё работало, и вычисления спихивались на дискретную карту чтобы FPS был высокий, и даже изображение с дискретной видеокарты шло! Но всё это только под линуксом, в винде тупо ошибка 43 - не могло стартануть внешнюю видеокарту с любыми драйверами которые я перепробовал. Сомневаюсь что райзер мог испортится с того времени. В-общем, я понял что райзеры с ноутом это ненадёжная комбинация, и где-то она работает а где-то нет.

    Сейчас вожусь с VGABIOS'ами, хочу подобрать оптимальный вариант для встраивания в coreboot
    Last edited by floppy121 on Thu May 23, 2019 10:10 am, edited 1 time in total.
  • floppy121 wrote: Может быть и можно как-то сделать так чтобы Turbocore включался по дефолту при загрузке,
    но ведь по идее это ведь можно сделать в операционной системе? Для винды - BAR_EDIT, для Linux:
    Я вообще не понимаю как это, темболее, через bar edit. Видел инструкцию "блокировки" на 3.2 гГц, однако на корбуте это не работает, а на стоковом биосе толку от этого не было, изменились только циферки.
    floppy121 wrote: Сейчас вожусь с VGABIOS'ами, хочу подобрать оптимальный вариант для встраивания в coreboot
    А как ты там что делаешь? Т.е., его прямо декомпилировали? Т.е. исходники от него есть? И получается, что VGABIOS будет компилится вместе с coreboot'ом сразу?
  • olodar wrote:
    floppy121 wrote: Сейчас вожусь с VGABIOS'ами, хочу подобрать оптимальный вариант для встраивания в coreboot
    А как ты там что делаешь? Т.е., его прямо декомпилировали? Т.е. исходники от него есть? И получается, что VGABIOS будет компилится вместе с coreboot'ом сразу?
    Исходников VGABIOS нету, но исходники VGABIOS - скорее всего не совсем исходники, а
    просто текстовый файл из кучи конфигурационных строчек который при помощи секретной AMD-шной утилиты
    конверируется в байт-код. И этот байт-код при помощи утилиты AtomDis можно дизассемблировать!

    https://cgit.freedesktop.org/~mhopf/AtomDis/
    https://github.com/mikebdp2/AtomDis

    Пример дизассемблирования при помощи AtomDis - во вложениях внизу прошлой страницы.
    Разумеется имея только AtomDis сложно вносить какие-то серьёзные изменения в VGABIOS ,
    но для простых изменений в Hex редакторе - типа подкрутить мегагерцы - этого вполне хватает
  • Кстати, ты говорил про mini pci-e модуль wifi с синем зубом. Стоковый модуль (Atheros, модель не помню) - полнейшее дерьмо, постоянно рвется соединение. Кстати, также заметил, что он греется как печка (очень горячий), мб из-за перегрева он зависает? С тем модулем, который ты советовал, таких проблем нет?
    Кстати, а как быть насчет того, что на новых драйверах AMD не работает регулировка яркости экрана и кнопки регулировки яркости?
  • olodar wrote:Кстати, ты говорил про mini pci-e модуль wifi с синем зубом. Стоковый модуль (Atheros, модель не помню) - полнейшее дерьмо, постоянно рвется соединение Кстати, также заметил, что он греется как печка (очень горячий), мб из-за перегрева он зависает? С тем модулем, который ты советовал, таких проблем нет?
    У большинства Lenovo G505S стоит Broadcom`овский mini pci-e модуль , и чип Atheros на Ethernet. Ты уверен что у тебя mini pci-e модуль от Atheros стоит? Просто обычно все Broadcom ругают :P Хотя WiFi модуль - это ведь такое же железо как и всё остальное, тоже может быть бракованным...

    Если у тебя AR9485, то AR9462 (который я советовал) лучше тем что 5 GHz поддерживает, и сигнал скорее всего мощнее. Я не знаю как он ведёт себя на Винде, ни разу не пробовал, но на Линуксе он работает просто идеально
    olodar wrote:Кстати, а как быть насчет того, что на новых драйверах AMD не работает регулировка яркости экрана и кнопки регулировки яркости?
    Это на линуксе или на винде? я просто этими кнопками редко пользуюсь, вот и забыл, а сейчас у меня вообще всё разобрано из-за экспериментов и не могу проверить. Если и там и там эта проблема, то дело не в драйверах AMD а в коребуте :

    https://github.com/coreboot/coreboot/bl ... cpi/ec.asl

    там если пролистнуть вниз, есть такие вещи (стр. 280) :

    Code: Select all

    /*
     * EC Query Responses
     *
     * DTS temperature update    10h
     * Decrease brightness event 11h
    * Increase brightness event 12h
    Возможно что-то не так в этом интерфейсе взаимодействия между прошивкой EC-контроллера и coreboot'ом, и в результате Event 11h / 12h не проходит.
    а чтобы Event проходил, нужно что-то сделать в файлах интерфейса взаимодействия: https://github.com/coreboot/coreboot/tr ... pal/ene932
    Last edited by floppy121 on Thu May 23, 2019 10:10 am, edited 1 time in total.
  • с AMD VGABIOS'ами пока разобрались, все файлы в репозитории g505s-atombios на этой странице:
    https://github.com/g505s-opensource-res ... s-atombios
    Там есть рабочие образы и для встроенной видеокарты, и для даже дискретной! (сложно было извлечь но в итоге сумели)

    в README есть табличка, качаешь файлы для своей модели Lenovo G505S и добавляешь их в образ coreboot при помощи cbfstool. чтобы быстро скачать и скомпилить cbfstool не выкачивая весь coreboot, можешь использовать скрипт cbfstool.sh, находится там же

    Ещё есть репозиторий g505s-proprietary но там мало чего нового по сравнению с kb9012-g505s-official (https://github.com/mikebdp2/kb9012-g505s-official), разве что полностью распакованный официальный биос

    g505ss-coreboot пока не заполнен, возможно туда тоже будем выкладывать релизы
  • floppy121 wrote:
    olodar wrote:Кстати, ты говорил про mini pci-e модуль wifi с синем зубом. Стоковый модуль (Atheros, модель не помню) - полнейшее дерьмо, постоянно рвется соединение Кстати, также заметил, что он греется как печка (очень горячий), мб из-за перегрева он зависает? С тем модулем, который ты советовал, таких проблем нет?
    У большинства Lenovo G505S стоит Broadcom`овский mini pci-e модуль , и чип Atheros на Ethernet. Ты уверен что у тебя mini pci-e модуль от Atheros стоит? Просто обычно все Broadcom ругают :P Хотя WiFi модуль - это ведь такое же железо как и всё остальное, тоже может быть бракованным...

    Если у тебя AR9485, то AR9462 (который я советовал) лучше тем что 5 GHz поддерживает, и сигнал скорее всего мощнее. Я не знаю как он ведёт себя на Винде, ни разу не пробовал, но на Линуксе он работает просто идеально
    olodar wrote:Кстати, а как быть насчет того, что на новых драйверах AMD не работает регулировка яркости экрана и кнопки регулировки яркости?
    Это на линуксе или на винде? я просто этими кнопками редко пользуюсь, вот и забыл, а сейчас у меня вообще всё разобрано из-за экспериментов и не могу проверить. Если и там и там эта проблема, то дело не в драйверах AMD а в коребуте :

    https://github.com/coreboot/coreboot/bl ... cpi/ec.asl

    там если пролистнуть вниз, есть такие вещи (стр. 280) :

    Code: Select all

    /*
     * EC Query Responses
     *
     * DTS temperature update    10h
     * Decrease brightness event 11h
    * Increase brightness event 12h
    Возможно что-то не так в этом интерфейсе взаимодействия между прошивкой EC-контроллера и coreboot'ом, и в результате Event 11h / 12h не проходит.
    а чтобы Event проходил, нужно что-то сделать в файлах интерфейса взаимодействия: https://github.com/coreboot/coreboot/tr ... pal/ene932
    Вот у меня как раз AR9485. Такое УГ, ОМГ! Постоянно зависает во время работы, что на пингвине, что на окнах, что на чертике.
    Использую дешевый свисток TL-WN721N, который тоже постоянно зависал, но прицепил к нему радиатор (горячий шибко был) и теперь зависает л