KolibriOS в BIOS ( coreboot / SeaBIOS ) на G505S - успех!
-
А как достать этот бинарник? Кстати, PXE тоже нету в корбуте, и, судя по всему, для него тоже надо бинарник. Так где ж их взять?
Короче, блобы находятся тут:
https://github.com/coreboot/blobs.git
задим в 3rdparty и клонируем, затем выбираем в конфиге.
собираю ipxe (это открытый аналог проприетарному PXE). в payloads выбираю Add a PXE ROM и PXE ROM to use (Build and add an iPXE ROM), затем через lspci -nn смотрим pci id и вводим туда.
https://github.com/coreboot/blobs.git
задим в 3rdparty и клонируем, затем выбираем в конфиге.
собираю ipxe (это открытый аналог проприетарному PXE). в payloads выбираю Add a PXE ROM и PXE ROM to use (Build and add an iPXE ROM), затем через lspci -nn смотрим pci id и вводим туда.
Code: Select all
/home/su/temp/coreboot/util/crossgcc/xgcc/bin/i386-elf-ar: creating bin/blib.a
[HOSTCC] util/zbin
util/zbin.c:7:18: fatal error: lzma.h: No such file or directory
compilation terminated.
Makefile.housekeeping:1360: recipe for target 'util/zbin' failed
make[2]: *** [util/zbin] Error 1
make[2]: Leaving directory '/home/su/temp/coreboot/payloads/external/iPXE/ipxe/src'
Makefile:59: recipe for target 'build' failed
make[1]: *** [build] Error 2
payloads/external/Makefile.inc:204: recipe for target 'payloads/external/iPXE/ipxe/ipxe.rom' failed
make: *** [payloads/external/iPXE/ipxe/ipxe.rom] Error 2
установил liblzma-dev, теперь это:
Code: Select all
Fetching new commits from the iPXE repo
Checking out iPXE revision origin/master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
Deleted branch coreboot (was 84d406c).
Branch coreboot set up to track remote branch master from origin.
Switched to a new branch 'coreboot'
MAKE iPXE origin/master
make[2]: Entering directory '/home/su/temp/coreboot/payloads/external/iPXE/ipxe/src'
[HOSTCC] util/zbin
[VERSION] bin/version.1969:10a0.rom.o
[LD] bin/1969:10a0.rom.tmp
/home/su/temp/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld:--defsym:2: ignoring invalid character `:' in expression
/home/su/temp/coreboot/util/crossgcc/xgcc/bin/i386-elf-ld:--defsym:2: syntax error
Makefile.housekeeping:1166: recipe for target 'bin/1969:10a0.rom.tmp' failed
make[2]: *** [bin/1969:10a0.rom.tmp] Error 1
rm bin/version.1969:10a0.rom.o
make[2]: Leaving directory '/home/su/temp/coreboot/payloads/external/iPXE/ipxe/src'
Makefile:59: recipe for target 'build' failed
make[1]: *** [build] Error 2
payloads/external/Makefile.inc:204: recipe for target 'payloads/external/iPXE/ipxe/ipxe.rom' failed
make: *** [payloads/external/iPXE/ipxe/ipxe.rom] Error 2
Вобщем, собрал ipxe отдельно, но он не работает. iwlist говорит, что время ожидания превышено.
Также, собрал с USB 3.0 фирмарью, но USB 3.0 не работает для меня USB 3.0 - самое главное!
P.S. На свежесобранной версии корбута USB 2.0 заработал нормально!
По поводу клавиш FN. Регулировка звука работает. Но не работает регулировка яркости.
По поводу bootsplash: Make sure the dimensions of the image exactly correspond to an available video mode (eg, 640x480, or 1024x768), otherwise it will not be displayed.
Вобщем, накатил Windows 7, установил драйвера и для 8650G все встало! Также погонял в игре SR4 и что я заметил? А падений-то частоты процессора не было! FPS был стабильный и упирался в мощность видеокарты 8650G! Вот и первая проблема решена (вроде).
Кстати, что думаешь по поводу того, что прошить биос прямо из ОС? По идее же, встроенный программатор умеет и EC шить, так он не заденется случайно?
Погуглил, нашел опцию config DRIVERS_LENOVO_HYBRID_GRAPHICS в src/drivers/lenovo/Kconfig
Но при сборке выдает это:
Итак, имеющиеся не решенные проблемы:
1) USB 3.0 так и не работает. В обоих ОС при загрузке доооолгое ожидание и в итоге не работает.
2) FN регулировка яркости так и не работает, приходится сворачивать игру и лезть в настройки
3) На дискретную видеокарту не получается установить драйвер, винда его видит, но стоит восклицательный знак и никак не работает.
4) Микрофон не работает, драйвера dolby (с эквалайзером) не устанавливаются.
Также, собрал с USB 3.0 фирмарью, но USB 3.0 не работает для меня USB 3.0 - самое главное!
P.S. На свежесобранной версии корбута USB 2.0 заработал нормально!
По поводу клавиш FN. Регулировка звука работает. Но не работает регулировка яркости.
По поводу bootsplash: Make sure the dimensions of the image exactly correspond to an available video mode (eg, 640x480, or 1024x768), otherwise it will not be displayed.
Вобщем, накатил Windows 7, установил драйвера и для 8650G все встало! Также погонял в игре SR4 и что я заметил? А падений-то частоты процессора не было! FPS был стабильный и упирался в мощность видеокарты 8650G! Вот и первая проблема решена (вроде).
Кстати, что думаешь по поводу того, что прошить биос прямо из ОС? По идее же, встроенный программатор умеет и EC шить, так он не заденется случайно?
Code: Select all
flashrom -p internal:laptop=force_I_want_a_brick -w build/coreboot.rom
Но при сборке выдает это:
Code: Select all
GEN generated/bootblock.ld
CP bootblock/arch/x86/bootblock.ld
LINK cbfs/fallback/bootblock.debug
OBJCOPY cbfs/fallback/bootblock.elf
OBJCOPY bootblock.raw.bin
CC cbfs/fallback/ramstage.debug
build/generated/ramstage.o: In function `hybrid_graphics_disable_peg':
/home/su/temp/coreboot/src/drivers/lenovo/hybrid_graphics.c:48: undefined reference to `set_gpio'
src/arch/x86/Makefile.inc:406: recipe for target 'build/cbfs/fallback/ramstage.debug' failed
make: *** [build/cbfs/fallback/ramstage.debug] Error 1
1) USB 3.0 так и не работает. В обоих ОС при загрузке доооолгое ожидание и в итоге не работает.
2) FN регулировка яркости так и не работает, приходится сворачивать игру и лезть в настройки
3) На дискретную видеокарту не получается установить драйвер, винда его видит, но стоит восклицательный знак и никак не работает.
4) Микрофон не работает, драйвера dolby (с эквалайзером) не устанавливаются.
Читал про IPXE но не смог найти для него практического применения - никогда не гружусь с сетевых носителей, только с локальных! Поэтому ни разу не пользовался, но проблема должна быть решаема если погуглить (сам я этого выяснить сейчас не смогу т.к. жёсткие проблемы с инетом и сейчас еле работает, вот и отвечаю не сразу) . Если и это не поможет, и хоть немного знаешь английский, можешь рассказать о своей проблеме в e-mail рассылке разработчиков coreboot - перед отправкой туда сообщений желательно на неё подписаться, чтобы на твои сообщения не было предварительной модерации, оперативно узнать об ответе на своё сообщение, а может быть и понабраться опыта ну или помочь комуolodar wrote:Вобщем, собрал ipxe отдельно, но он не работает. iwlist говорит, что время ожидания превышено
Могу здесь сильно ошибаться, так как смотрел это больше года назад и чисто из интереса, но по-моему там было как минимум два разных бинарника которые имело смысл попытаться использовать в качестве фирмвари для XHCI : один для южного моста Hudson а другой для южного моста Bolton. Амд-шный южный мост этого ноута включает в себя USB 2.0 / 3.0 контроллер , и USB 2.0 работает и так - а вот для режима USB 3.0 нужно чтобы биос подгрузил эту XHCI фирмварь причём разумеется правильную. Так-то этот южный мост вроде бы семейства Bolton , но Bolton и Hudson очень похожи (если не ошибаюсь, Hudson - это бюджетный вариант Bolton'а) и может быть бинарник от Hudson сработал бы лучше. Вообще, самым надёжным вариантом было бы извлечь этот бинарник из официального апдейта BIOS, если скачать его с официального сайта Lenovo, распаковать как ZIP-архив, в самом большом файле (весил больше 5 мегабайт вроде) быстро поискать заголовок который скорее всего стоит перед началом бинарника XHCI, оттуда отсчитать его размер (там ведь 64 КБ должно быть ? ) , и сохранить этот кусок с правильным размером как бинарный файл. Ну в общем попробуй пока все эти варианты: два разных бинарника + если получится извлечь (если не получится, подожди пока у меня наладится инетolodar wrote:Также, собрал с USB 3.0 фирмарью, но USB 3.0 не работает для меня USB 3.0 - самое главное!
Рад это слышатьolodar wrote: P.S. На свежесобранной версии корбута USB 2.0 заработал нормально!
Если посмотреть лог ядра линукс (через команду dmesg) или ещё где - наверняка увидишь что когда нажимаешь эти кнопки регулировки яркости - там в логах всплывает сообщение типа Unknown key with code 0xABC pressed ( ABC - для примера ) Остаётся назначить на этот код клавиши 0xABC конкретное действие, например яркость вверх или внизolodar wrote:По поводу клавиш FN. Регулировка звука работает. Но не работает регулировка яркости
Там вдобавок к требованию по разрешению картинки ещё и требование по формату. Когда в прошлый раз смотрел, поддерживало только BMP и JPEGolodar wrote:По поводу bootsplash: Make sure the dimensions of the image exactly correspond to an available video mode (eg, 640x480, or 1024x768), otherwise it will not be displayed
При обновлении прошивки BIOS + прошивки EC контролера официальной утилитой апдейта от Lenovo происходит следующее: вначале EC-контроллер хитромудрым способом через legacy шину LPC переводится в режим отладки, затем происходит прошивка образа BIOS через EC-контроллер, а затем обновляется прошивка и самого EC-контроллераolodar wrote:Кстати, что думаешь по поводу того, что прошить биос прямо из ОС? По идее же, встроенный программатор умеет и EC шить, так он не заденется случайно?Code: Select all
flashrom -p internal:laptop=force_I_want_a_brick -w build/coreboot.rom
Так как на ноутах (в отличие от стационарных компьютеров) есть этот EC-контроллер, на ноутах - или вообще на всех или по крайней мере на бОльшей их части - прошить новый BIOS при помощи flashrom или не удастся вообще или со значительным процентом ошибок, ведь если flashrom не умеет переводить EC-контроллер в отладочный режим то этот EC-контроллер будет постоянно мешать в процессе прошивки!
Прошивка EC-контроллера при этой скорее всего неудачной процедуре прошивке BIOS (из-за вмешательства EC контроллера) - вряд ли слетит . Прошить прошивку в EC-контроллер тоже можно через flashrom , если скачать исходники flashrom и три специальных патча, применить эти патчи к исходникам flashrom, а затем скомпилировать эти исходники в отдельный flashrom, который скорее всего не будет уметь нормально прошивать BIOS-чипы но зато сможет прошивать EC-контроллер через клавиатурный разъём ноутбука! Вот как это делается: http://dangerousprototypes.com/docs/Fla ... Bus_Pirate (придётся заказать или где-то раздобыть подходящий шлейф, чтобы это было намного легче. нужно будет немного паять, возможно обойдёшся и без пайки если прикупишь специальных проводов с щипцами на одном конце)
А вот про эту опцию я в первый раз слышу... Если она и должна быть совместима с G505S возможно её добавили недавно и ещё не успели доделать до рабочего состоянияolodar wrote:Погуглил, нашел опцию config DRIVERS_LENOVO_HYBRID_GRAPHICS в src/drivers/lenovo/Kconfig
Но при сборке выдает это:Code: Select all
GEN generated/bootblock.ld CP bootblock/arch/x86/bootblock.ld LINK cbfs/fallback/bootblock.debug OBJCOPY cbfs/fallback/bootblock.elf OBJCOPY bootblock.raw.bin CC cbfs/fallback/ramstage.debug build/generated/ramstage.o: In function `hybrid_graphics_disable_peg': /home/su/temp/coreboot/src/drivers/lenovo/hybrid_graphics.c:48: undefined reference to `set_gpio' src/arch/x86/Makefile.inc:406: recipe for target 'build/cbfs/fallback/ramstage.debug' failed make: *** [build/cbfs/fallback/ramstage.debug] Error 1
Итоги:olodar wrote:Итак, имеющиеся не решенные проблемы:
1) USB 3.0 так и не работает. В обоих ОС при загрузке доооолгое ожидание и в итоге не работает.
2) FN регулировка яркости так и не работает, приходится сворачивать игру и лезть в настройки
3) На дискретную видеокарту не получается установить драйвер, винда его видит, но стоит восклицательный знак и никак не работает.
4) Микрофон не работает, драйвера dolby (с эквалайзером) не устанавливаются.
1) - решаемо если подобрать правильный бинарник
2) - скорее всего получиться исправить если вручную назначить действие на код который выдаёт клавиатура когда ты нажимаешь эту комбинацию клавиш
3) - тут вот не уверен - виндой почти не пользуясь, поэтому не знаю получиться ли завести дискретную видеокарту если поковыряться в настройках
4) - встречал почти такой же ноут - почти с таким же официальным биосом ( INSYDE ) , абсолютно такой же аудио системой ( Dolby Advanced Audio v2 если не ошибаюсь ) и седьмой виндой. Так вот, там пришлось очень и очень нехило поДОЛБИться прежде чем дрова от Долби нормально встали и заработали ( ковырялся пару часов, вроде бы дрова с драйверпака заработали и то не сразу )
Last edited by floppy121 on Mon Jun 17, 2019 12:33 pm, edited 1 time in total.
С PXE так и ничего не получилось.
Также, удалось собрать корбут с hybrid graphics, но видеокарта не работает. Включил еще Load Rom from pci devices (как-то так называется, вроде) - тоже не помогло (. Шинда просто перестает загружаться (ядро шинды постоянно грузит ЦП), приходится лезть в безопасный и удалять дискретную карту. Кстати, кримсон как-то по умному ставит драйвер (в отличие от каталиста) и ничего не зависает, но дискретная даже не отображается в диспетчере.
Что касается USB 3.0 - убрал галку добавить Hudson firmware и включил фирмарь от bolton'а и все заработало!
- там ведь 64 КБ должно быть
нет? 28 кибибайт они весят
- Если посмотреть лог ядра линукс (через команду dmesg) или ещё где - наверняка увидишь что когда нажимаешь эти кнопки регулировки яркости - там в логах всплывает сообщение типа Unknown key with code 0xABC pressed ( ABC - для примера ) Остаётся назначить на этот код клавиши 0xABC конкретное действие, например яркость вверх или вниз
не канает, программа не "видит" нажатия клавиши
По поводу долби - дело в том, что долби выпускает отдельные драйвера для каждой версии винды, ты не поставишь от 7 в 8.1 и наооборот. Идиотизм полный, но нужно качать драйвера именно для нужной версии шинды, тогда все встанет отлично. Тоже сначала не понимал, в чем дело, почему драйвер от восьмерки никак не хотел ставится на десятку.
Еще обнаружил проблему - если "усыпить" систему ("сон в раму"), то ноут не пробуждается тупо черный экран, но сам ноут включен и пингуется и по ssh зайти можно.
Также, удалось собрать корбут с hybrid graphics, но видеокарта не работает. Включил еще Load Rom from pci devices (как-то так называется, вроде) - тоже не помогло (. Шинда просто перестает загружаться (ядро шинды постоянно грузит ЦП), приходится лезть в безопасный и удалять дискретную карту. Кстати, кримсон как-то по умному ставит драйвер (в отличие от каталиста) и ничего не зависает, но дискретная даже не отображается в диспетчере.
Что касается USB 3.0 - убрал галку добавить Hudson firmware и включил фирмарь от bolton'а и все заработало!
- там ведь 64 КБ должно быть
нет? 28 кибибайт они весят
- Если посмотреть лог ядра линукс (через команду dmesg) или ещё где - наверняка увидишь что когда нажимаешь эти кнопки регулировки яркости - там в логах всплывает сообщение типа Unknown key with code 0xABC pressed ( ABC - для примера ) Остаётся назначить на этот код клавиши 0xABC конкретное действие, например яркость вверх или вниз
не канает, программа не "видит" нажатия клавиши
По поводу долби - дело в том, что долби выпускает отдельные драйвера для каждой версии винды, ты не поставишь от 7 в 8.1 и наооборот. Идиотизм полный, но нужно качать драйвера именно для нужной версии шинды, тогда все встанет отлично. Тоже сначала не понимал, в чем дело, почему драйвер от восьмерки никак не хотел ставится на десятку.
Еще обнаружил проблему - если "усыпить" систему ("сон в раму"), то ноут не пробуждается тупо черный экран, но сам ноут включен и пингуется и по ssh зайти можно.
Очень жаль. Возможно об этом стоит подробно рассказать в e-mail рассылку разработчиков corebootolodar wrote:С PXE так и ничего не получилось
Возможно при просмотре шины PCI винда обнаруживает одну и ту же дискретную видеокарту несколько раз и зацикливается при попытке повесить на каждую из этих "нескольких одинаковых видеокарт" копии одного и того же драйвера, которые естественно конфликтуют между собой по ресурсам (диапазонами памяти и прерываниями) Это просто догадка, но может быть так оно и естьolodar wrote:Также, удалось собрать корбут с hybrid graphics, но видеокарта не работает. Включил еще Load Rom from pci devices (как-то так называется, вроде) - тоже не помогло (. Шинда просто перестает загружаться (ядро шинды постоянно грузит ЦП), приходится лезть в безопасный и удалять дискретную карту. Кстати, кримсон как-то по умному ставит драйвер (в отличие от каталиста) и ничего не зависает, но дискретная даже не отображается в диспетчере.
Можешь пожалуйста скинуть ссылку на эту гарантированно рабочую фирмварь на USB 3.0 (не для меня а для других читателей этой темы) Надеюсь она есть в официальном репозитории coreboot ?olodar wrote:Что касается USB 3.0 - убрал галку добавить Hudson firmware и включил фирмарь от bolton'а и все заработало!
- там ведь 64 КБ должно быть
нет? 28 кибибайт они весят
Очень интересно, почему так. При первой же возможности постараюсь найти решение этой проблемы.olodar wrote:- Если посмотреть лог ядра линукс (через команду dmesg) или ещё где - наверняка увидишь что когда нажимаешь эти кнопки регулировки яркости - там в логах всплывает сообщение типа Unknown key with code 0xABC pressed ( ABC - для примера ) Остаётся назначить на этот код клавиши 0xABC конкретное действие, например яркость вверх или вниз
не канает, программа не "видит" нажатия клавиши
вроде бы я всё время туда пытался ставить дрова Долби именно для семёрки, просто разные версии. если правильно помню в итоге помогла версия из драйверпака (drp.su) но пришлось потратить кучу времени . это всё к тому что если не встают драйвера Долби - возможно в этом виноват не коребутolodar wrote:По поводу долби - дело в том, что долби выпускает отдельные драйвера для каждой версии винды, ты не поставишь от 7 в 8.1 и наооборот. Идиотизм полный, но нужно качать драйвера именно для нужной версии шинды, тогда все встанет отлично. Тоже сначала не понимал, в чем дело, почему драйвер от восьмерки никак не хотел ставится на десятку.
https://www.coreboot.org/Board:lenovo/g505solodar wrote:Еще обнаружил проблему - если "усыпить" систему ("сон в раму"), то ноут не пробуждается тупо черный экран, но сам ноут включен и пингуется и по ssh зайти можно.
Known Issues
S3 Suspend/Resume - You will need a Console verbosity set to at least "BIOS_INFO" or greater for it to work! Coreboot is likely too fast for the Embedded Controller firmware on the S3 resume hot path.
Кажись коребут грузится слишком быстро! Попробуй замедлить его, настроив Verbosity Level в menuconfig на более подробный вывод инфы в логи загрузки коребут , затем придётся пересобрать коребут и прошить его. Надеюсь, это поможет