Re: KolibriOS в BIOS ( coreboot / SeaBIOS ) на G505S - успех!
Posted: Sun Apr 16, 2017 5:08 am
А как достать этот бинарник? Кстати, PXE тоже нету в корбуте, и, судя по всему, для него тоже надо бинарник. Так где ж их взять?
Official KolibriOS board
http://board.kolibrios.org/
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
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
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
Читал про 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
А вот про эту опцию я в первый раз слышу... Если она и должна быть совместима с 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 (с эквалайзером) не устанавливаются.
Очень жаль. Возможно об этом стоит подробно рассказать в 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 зайти можно.
Проблема остается не решенной. Более того, это не дает установить винду Хотя, не понятно - на SSD шинда встала, а хард воткнул, так не хочет, тупо зависает. Кстати, попробовал зайти в безопасный и ось зависала при загрузки драйвера disk.sys. Очень интересно!!! Куплю короче опти-бэй и потом буду все это дело тестить. Кстати, еще, если когда вставить оптический привод в ноутбук, то операционка перестает загружатся! Ядро линукс говорит о куче каких-то ATA ошибок, после 30-ти секунд ось начинает грузится. Просто интересно, нормально ли с оптибээем будет работать? Кстати, еще я слышал, что лучше ставить хард в корпус ноута, а SSD в оптибэй, мол что в материнке есть датчик ударов и он остановит хард при ударе. Как думаешь, в нашем ноуте имеет в этом смысл? Как проверить работу/наличие этого датчика? По идее, хард имеет и собственный механизм "паркования" во время ударов.Возможно при просмотре шины PCI винда обнаруживает одну и ту же дискретную видеокарту несколько раз и зацикливается при попытке повесить на каждую из этих "нескольких одинаковых видеокарт" копии одного и того же драйвера, которые естественно конфликтуют между собой по ресурсам (диапазонами памяти и прерываниями) Это просто догадка, но может быть так оно и есть
Все фирмари есть в репе coreboot.Можешь пожалуйста скинуть ссылку на эту гарантированно рабочую фирмварь на USB 3.0 (не для меня а для других читателей этой темы) Надеюсь она есть в официальном репозитории coreboot ?
Code: Select all
git submodule update --init --checkout
Так ты уже с корбутом пытался ставить? Долби драйвера работают только со стоковым биосом, на корбут его не поставишь! И дело как раз таки в корбуте, что он определяет звуковую как фиг поймешь от какого производителя, а не долби. И, да, в Win 7 и Win 10 драйвера для корбутовской звуковой уже есть в винде, ставить там ничего не нужно. Даже базовый эквалайзер виндовый работаетвроде бы я всё время туда пытался ставить дрова Долби именно для семёрки, просто разные версии. если правильно помню в итоге помогла версия из драйверпака (drp.su) но пришлось потратить кучу времени . это всё к тому что если не встают драйвера Долби - возможно в этом виноват не коребут
Видел, но мне тут нифига не понятно. Какая-то консоль, какой-то BIOS_INFO - что это вообще такое, какие-то инопланентые слова..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.
Не канаетПосле установки linux на ноутбук asus чтобы работала регулировка яркости мне всегда приходилось что-то прописывать в /etc/default/grub, вроде GRUB_CMDLINE_LINUX="acpi_osi=Linux"
Ну и update-grub потом.
Надеюсь, что SMART статус твоего жёсткого диска в порядке. Очень странно что линукс ругается на твой дисковод, потому что у меня никогда такого эффекта не проявлялось. Оптибэй должен нормально работать в любом ноуте с SATA дисководом и подходящими геометрическими размерами корпуса, правда не помню как в этом ноуте - а вот во многих ноутах порт для жёсткого диска это SATA 3.0 а порт дисковода SATA 2.0 . Поэтому обычно жёсткий диск переставляют в оптибэй, а SSD устанавливают на его место чтобы не резать скорость SSD этим более медленным интерфейсом. Про датчик ударов на материнской плате я в первый раз слышу. Лучше бы его не было, потому что если вдруг этот датчик как-то наполовину сломается то будет постоянно останавливать жёсткие дискиolodar wrote:Проблема остается не решенной. Более того, это не дает установить винду Хотя, не понятно - на SSD шинда встала, а хард воткнул, так не хочет, тупо зависает. Кстати, попробовал зайти в безопасный и ось зависала при загрузки драйвера disk.sys. Очень интересно!!! Куплю короче опти-бэй и потом буду все это дело тестить. Кстати, еще, если когда вставить оптический привод в ноутбук, то операционка перестает загружатся! Ядро линукс говорит о куче каких-то ATA ошибок, после 30-ти секунд ось начинает грузится. Просто интересно, нормально ли с оптибээем будет работать? Кстати, еще я слышал, что лучше ставить хард в корпус ноута, а SSD в оптибэй, мол что в материнке есть датчик ударов и он остановит хард при ударе. Как думаешь, в нашем ноуте имеет в этом смысл? Как проверить работу/наличие этого датчика? По идее, хард имеет и собственный механизм "паркования" во время ударов.Возможно при просмотре шины PCI винда обнаруживает одну и ту же дискретную видеокарту несколько раз и зацикливается при попытке повесить на каждую из этих "нескольких одинаковых видеокарт" копии одного и того же драйвера, которые естественно конфликтуют между собой по ресурсам (диапазонами памяти и прерываниями) Это просто догадка, но может быть так оно и есть
я пробовал ставить дрова Долби не на этот ноут с коребутом а на ноут с официальным биосом , весьма похожим железом - и такой же аудиосистемой. и то эти дрова встали с десятой попытки. точно не помню, может быть после установки этих дров звук стоял на нуле, во всяком случае я что-то вертел в настройках программы Долби после установки драйвераolodar wrote:Так ты уже с корбутом пытался ставить? Долби драйвера работают только со стоковым биосом, на корбут его не поставишь! И дело как раз таки в корбуте, что он определяет звуковую как фиг поймешь от какого производителя, а не долби. И, да, в Win 7 и Win 10 драйвера для корбутовской звуковой уже есть в винде, ставить там ничего не нужно. Даже базовый эквалайзер виндовый работаетвроде бы я всё время туда пытался ставить дрова Долби именно для семёрки, просто разные версии. если правильно помню в итоге помогла версия из драйверпака (drp.su) но пришлось потратить кучу времени . это всё к тому что если не встают драйвера Долби - возможно в этом виноват не коребут
у каждого сообщения, которое печатается в коде coreboot (как и в коде ядра линукс) есть как бы "уровень его важности". все сообщения, уровень важности которых равен или важнее чем определённый уровень, будут выведены в лог загрузки - а остальные не будут. Вверху даётся совет понизить этот " определённый уровень важности" до BIOS_INFO или ниже, чтобы в лог загрузки coreboot выводилось больше сообщений - и, так как на вывод каждого из сообщений затрачивается время (пусть и небольшое) этот бОльший объём выводимой информации должен замедлить загрузку coreboot так чтобы тот контроллер успел проинициализироваться - ведь если он не успеет проинициализироваться то например встроенная клавиатура ноутбука не будет работать (а может быть и функции заряда и ещё много чего)olodar wrote:Видел, но мне тут нифига не понятно. Какая-то консоль, какой-то BIOS_INFO - что это вообще такое, какие-то инопланентые слова..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.
Все отлично, более того, ниодного бэдаНадеюсь, что SMART статус твоего жёсткого диска в порядке.
SSD и на SATA 1 будет работать быстро.чтобы не резать скорость SSD этим более медленным интерфейсом
Чуть позже гляну, отпишусь.Можешь посмотреть в диспетчера устройств Windows через свойства? Будет очень интересно если ID-шники каким-то образом поменялись
Микрофон скорее всего работает, потому что я его видел в линуксе в PCI девайсах и в звуковых настройках. Но так уж получилось что за всё время использования coreboot я ни разу не пользовался микрофоном Напишу как проверюolodar wrote:Чуть позже гляну, отпишусь.Можешь посмотреть в диспетчера устройств Windows через свойства? Будет очень интересно если ID-шники каким-то образом поменялись
Кстати, у тебя микрофон тоже не работает?
Еще заметил, что если усыпить систему, она не будет возобновляться, и если вырубить ноут и заново включить, то он ничего не показывает, мб корбут как-то не очищает память и происходит такая ошибка? Не знаю.
никак не пойму, как это сделатьесли ты пересоберёшь coreboot с более низким " минимальным уровнем важности сообщений в логах. "
Code: Select all
flashrom -p internal:laptop=force_I_want_a_brick -w build/coreboot.rom -c MX25L3206E/MX25L3208E
flashrom v0.9.9-rc1-r1942 on Linux 4.4.0-72-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
coreboot table found at 0xbffd5000.
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and https://flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Proceeding anyway because user forced us to.
Found chipset "AMD FCH".
Enabling flash write... Writes have been disabled for safety reasons because the presence of the IMC
was detected and it could interfere with accessing flash memory. Flashrom will
try to disable it temporarily but even then this might not be safe:
when it is reenabled and after a reboot it expects to find working code
in the flash and it is unpredictable what happens if there is none.
To be safe make sure that there is a working IMC firmware at the right
location in the image you intend to write and do not attempt to erase.
You can enforce write support with the amd_imc_force programmer option.
OK.
Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) mapped at physical address 0x00000000ffc00000.
Write/erase is not working yet on your programmer in its current configuration.
Aborting.
Code: Select all
flashrom -p internal:laptop=force_I_want_a_brick -w build/coreboot.rom -c MX25L3206E/MX25L3208E
flashrom v0.9.9-rc1-r1942 on Linux 4.4.0-72-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
coreboot table found at 0xbffd5000.
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and https://flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Proceeding anyway because user forced us to.
Found chipset "AMD FCH".
Enabling flash write... OK.
Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) mapped at physical address 0x00000000ffc00000.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
Для этого нужно через консоль/терминал зайти в директорию со скачанными исходниками coreboot,olodar wrote:никак не пойму, как это сделатьесли ты пересоберёшь coreboot с более низким " минимальным уровнем важности сообщений в логах. "
Когда ты пытаешься прошить через "internal" - flashrom выводит сообщение:olodar wrote:Блин, да что за фигня? То прошивается, то не прошивается (пробую шить из под ноута напрямую). Много раз уже нормально зашилось
EC-контроллер на ноутбуках мешает нормальной "внутренней" (internal) прошивке через flashrom.WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and https://flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
по Device ID со скриншота находится что это - Conexant SmartAudio HDну и бредятина....
Attachments: High Definition Audio Device Properties
поставил 0, не помогает, ноут все равно не просыпается и потом не включаетсяввести команду make menuconfig , дальше зайти в Console --> , " Default console log level ---> " и изменить там