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

Using Kolibri in embedded systems
  • olodar wrote:Так я как купил роутер, так сразу скомпилил и накатил на него OpenWRT :) Ну так если бы проблемы были с роутером, то ноут просто бы дисконнектился, а не зависал, что фиг отключишься/подключишься, пока не отключишь и не подключишь заново (аппаратно). Кстати, со встроенным помогает "опустить" сетевой интерфейс и поднять заново.
    А к другому роутеру (2010 года или позже) ты пробовал подключаться - так, на всякий случай? если модель и аппаратная ревизия роутера - 2010 год или позже то скорее всего это стандарт final N и тут всё в порядке. Если и с другим роутером глючит то скорее всего WiFi адаптер сломался. Кстати я никогда не открывал крышку с mini pci-e адаптера, вдруг там термопаста какая-то и её поменять надо? пока нашёл только одно видео разбора но это не совсем то - https://www.youtube.com/watch?v=Sr2mVhVkL_U , крышку кстати легко повредить при таком снятии
  • floppy121 wrote:
    olodar wrote:Да, есть такая фигня! И то, и другое
    Скажи, а перед сборкой этой прошивки ты делал ту правку для двух видеокарт?
    floppy121 wrote:5: (правка для двух видеокарт)
    Spoiler:5) в файле ./coreboot/src/device/Kconfig изменил

    Code: Select all

    config MULTIPLE_VGA_ADAPTERS
    	bool
    	default n
    на

    Code: Select all

    config MULTIPLE_VGA_ADAPTERS
    	bool
    	default y
    потому что в моей версии ноута две видеокарты а не одна (этот конфиг приведет к выполнению дополнительного кода в ./coreboot/src/northbridge/amd/agesa/family15rl/northbridge.c , но я пока толком не разобрался на что это влияет, давно не играл в игры и не использовал дискретную видеокарту)
    Да, конечно, но она никак не влияет... а у тебя тоже не получилось?
  • floppy121 wrote:
    olodar wrote:Так я как купил роутер, так сразу скомпилил и накатил на него OpenWRT :) Ну так если бы проблемы были с роутером, то ноут просто бы дисконнектился, а не зависал, что фиг отключишься/подключишься, пока не отключишь и не подключишь заново (аппаратно). Кстати, со встроенным помогает "опустить" сетевой интерфейс и поднять заново.
    А к другому роутеру (2010 года или позже) ты пробовал подключаться - так, на всякий случай? если модель и аппаратная ревизия роутера - 2010 год или позже то скорее всего это стандарт final N и тут всё в порядке. Если и с другим роутером глючит то скорее всего WiFi адаптер сломался. Кстати я никогда не открывал крышку с mini pci-e адаптера, вдруг там термопаста какая-то и её поменять надо? пока нашёл только одно видео разбора но это не совсем то - https://www.youtube.com/watch?v=Sr2mVhVkL_U , крышку кстати легко повредить при таком снятии
    Даж не знаю, не пробовал, да и где его сейчас достать.. С нищбродским wifi постоянно проблемы. другое дело провода, но с переносной пекой оч неудобно
  • olodar wrote:Да, конечно, но она никак не влияет... а у тебя тоже не получилось?
    Если честно у меня до сих пор наполовину разобранное по углам лежит, так что пока ты первый кто протестировал! :wink: Очень жаль что не заработало, и не понятно почему... Может быть официальный биос ещё что-то дополнительно настраивает, например прописывает какие-то PCI регистры видеокарты. Их можно и самому прописать после загрузки ОС, например в линуксе - всякими командами типа setpci, только нужно ещё выяснить какими значениями. В-общем я пока отложил эту проблему и сейчас буду пытаться пропихнуть некоторые из своих небольших улучшений (про которые рассказано на 1 странице) в официальный код coreboot
  • olodar wrote:Даж не знаю, не пробовал, да и где его сейчас достать.. С нищбродским wifi постоянно проблемы. другое дело провода, но с переносной пекой оч неудобно
    К соседям подключиться :P ну или сходить в гости к кому-нибудь вместе с ноутом,
    или прогуляться в место где можно подключиться к WiFi (если знаешь такие места)
  • floppy121 wrote:
    olodar wrote:Да, конечно, но она никак не влияет... а у тебя тоже не получилось?
    Если честно у меня до сих пор наполовину разобранное по углам лежит, так что пока ты первый кто протестировал! :wink: Очень жаль что не заработало, и не понятно почему... Может быть официальный биос ещё что-то дополнительно настраивает, например прописывает какие-то PCI регистры видеокарты. Их можно и самому прописать после загрузки ОС, например в линуксе - всякими командами типа setpci, только нужно ещё выяснить какими значениями. В-общем я пока отложил эту проблему и сейчас буду пытаться пропихнуть некоторые из своих небольших улучшений (про которые рассказано на 1 странице) в официальный код coreboot
    Интересно, ты единственный, кто что-то делает в coreboot? :D
    По сути, никаких изменений за долгое время со стороны разработчиков не было, все те же баги и недоработки...
  • floppy121 wrote:Попробуй погуглить "программа для настройки яркости Windows" - предлагает Monitor Plus, Display Tuner, DimScreen, тысячи их! Наверняка что-то из этого сработает
    Ничего не работает. Эти говнопрограммы как-то программно затемняют яркость, это костыль 1000000 уровня. Другие не работают, пишут, что монитор что-то там не поддерживает.
    Мы извлекли видеобиос из оригинального, а оригинальный биос потребляет 768 мб рамы, а этот потребляет 512, почему? Это же один и тот же? Мб, для работы CrossFire нужно как раз этот объем задействовать? Ты говорил, что это "очень грязный биос" (или какой там потребляет 768). А где его достать? Мб попробовать его, вдруг заработает вторая карта?
  • olodar wrote:По сути, никаких изменений за долгое время со стороны разработчиков не было, все те же баги и недоработки...
    Коребут активно разрабатывается и улучшается, это можно видеть по частоте коммитов.
    Но с нашей точки зрения есть три типа изменений:

    1) улучшения кода специфичного для Lenovo G505S - самые полезные для нас,
    но происходят нечасто так как далеко не у каждого разработчика коребута есть такой ноут

    Поэтому я во многих опенсорсных дискуссиях пытаюсь пиарить наш ноут чтобы больше коребутчиков-линуксоидов пришло на него,
    правда тут тоже есть один недостаток - вдруг захочешь купить ещё один запасной и окажется что твои товарищи раскупили :lol:

    2) улучшения кода общего для всех плат - тоже полезны для нас, пусть и в меньшей степени,
    но ты как пользователь не всегда можешь почувствовать их на практике (например если оптимизировали код
    так что коребут стал грузиться в полтора раза быстрее, но он и так грузился быстро и ты ничего не заметил :) )


    3) улучшения кода специфичного для других плат - от них есть и польза и вред:

    польза - если коребут будет лучше поддерживать другие ноуты/платы и большее их количество,
    то в коребут придёт больше людей которые будут улучшать и общий код который и для нас полезен

    вред - чем больше "не наших" плат поддерживает коребут, тем меньше вероятность что какой-то опытный разработчик
    коребута будет улучшать код именно для нашей платы даже если она у него есть, когда полно других интересных
    olodar wrote:
    floppy121 wrote:Попробуй погуглить "программа для настройки яркости Windows" - предлагает Monitor Plus, Display Tuner, DimScreen, тысячи их! Наверняка что-то из этого сработает
    Ничего не работает. Эти говнопрограммы как-то программно затемняют яркость, это костыль 1000000 уровня. Другие не работают, пишут, что монитор что-то там не поддерживает
    Странно... мне казалось, среди них должна быть хотя бы одна нормальная программа, которая для изменения яркости использует тот же программный интерфейс что и винда. Ещё интересно - как они определяют что "монитор не поддерживает" ? Может они ориентируются на какую-то запись в реестре винды, и там достаточно поменять 0 на 1 чтобы поддерживало? У меня когда-то была отдалённо похожая ситуация с древним тачпадом у которого кривые драйвера, пока не откроешь regedit и не поменяешь в одной переменной 0 на 1 этот тачпад жутко глючит
    olodar wrote:Ты говорил, что это "очень грязный биос" (или какой там потребляет 768). А где его достать? Мб попробовать его, вдруг заработает вторая карта?
    Видеобиос можно извлечь двумя способами:
    1) "чистый" - извлечь видеобиос напрямую из бинарника проприетарного InsydeH20 биоса,
    использовав утилиту H20EZE отсюда - https://github.com/s-sosnitskiy80/Insider_BIOS_Tools
    2) "грязный" - прошить проприетарный InsydeH20 биос в ноут (желательно образ без серийников)
    включить ноут, загрузить операционную систему и извлечь видеобиос при включенном ноуте

    Вначале я надеялся на способ 1) - но вскоре выяснилось что этот способ плохо работает,
    потому что те файлы видеобиосов которые содержатся в бинарнике проприетарного InsydeH20 биоса
    по умолчанию не особо рабочие - перед тем, как их использовать, биос патчит эти файлы в процессе загрузки!

    Например, если попытаться использовать "чистый" видеобиос для встроенной видеокарты
    (не пропатченный проприетарным биосом) то вообще не работает подсветка экрана! У "чистых" видеобиосов
    для дискретных видеокарт тоже могут быть проблемы - причём менее очевидные, поэтому в репозитории
    https://github.com/g505s-opensource-res ... s-atombios все "чистые" видеобиосы лежат в папке
    clean_unpacked_-_do_not_use только для ознакомительных целей, не для использования!

    Потом переключились на способ 2) но извлечь видеобиос дискретных видеокарт таким способом
    было очень непросто - помнишь, даже ты пробовал извлечь через линукс и писало Input/Output Error ?
    Через линукс у меня так и не получилось, а в винде программы AtiWinflash / GPU-Z / AIDA64 не работали

    Но в итоге получилось! Через винду сдампил всю временную память компьютера при помощи
    бесплатной программы Belkasoft Live RAM Capturer https://belkasoft.com/get?product=ram
    Она по всей видимости дампит не только оперативку, и в её дампах нашёл видеобиос для R5 M230
    Затем одолжил ноут у знакомого (тоже Lenovo G505S но с видеочипом HD-8570M как у тебя)
    и таким же способом сдампил видеобиос для HD-8570M. Все эти дампы "грязных" видеобиосов
    доступны в таблице - https://github.com/g505s-opensource-res ... s-atombios
    olodar wrote:Мы извлекли видеобиос из оригинального, а оригинальный биос потребляет 768 мб рамы, а этот потребляет 512, почему? Это же один и тот же? Мб, для работы CrossFire нужно как раз этот объем задействовать?
    Перед всеми дампами я специально ставил в ноут 16 гигов оперативки, чтобы извлекаемый видеобиос
    как раз таки был настроен на больший размер отъедаемый памяти. Непонятно, почему в коребуте он стал есть 512

    Скажи пожалуйста, для тестирования ты брал два видеобиоса именно из этой таблицы:
    и для дискретной видеокарты, и для встроенной заменил свой на "табличный" ?
    Просто и для встроенной и для дискретной я дампил одновременно, и у них могут быть
    более взаимно совместимые значения переменных

    Code: Select all

    G505S with discrete HD-8570M 	pci1002,990b.rom (HD's) 	pci1002,6663.rom
    То есть нужно было скачать два этих биоса, удалить из образа коребут тот старый pci1002,990b.rom
    который там уже был (командой ./util/cbfstool/cbfstool $COREBOOT_ROM_PATH remove -n pci1002,990b.rom)
    и потом добавить в образ коребут два новых скачанных видеобиоса перед его прошивкой

    Если ты случайно тестировал вместе со старым pci1002,990b.rom, пожалуйста перетестируй с этими двумя новыми
    Last edited by floppy121 on Thu May 23, 2019 10:09 am, edited 1 time in total.
  • А теперь новости по патчам в коребут:

    1) Пытаемся проп