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

Using Kolibri in embedded systems
  • Погонял в играх, и да, действительно. По ядрам максимум была нагрузка 60% (на каждое ядро, а не ЦП в целом), что уже говорит о том, что ЦП хватает! А вот графический процессор(ы) всегда на 100%. И как вообще будет выводится изображение, интересно, если подключить сюда внешнюю видеокарту? Через монитор, который к самой видюхе подключается, или все же на экран ноутбука можно запихнуть?
  • olodar wrote:Погонял в играх, и да, действительно. По ядрам максимум была нагрузка 60% (на каждое ядро, а не ЦП в целом), что уже говорит о том, что ЦП хватает! А вот графический процессор(ы) всегда на 100%. И как вообще будет выводится изображение, интересно, если подключить сюда внешнюю видеокарту? Через монитор, который к самой видюхе подключается, или все же на экран ноутбука можно запихнуть?
    https://www.youtube.com/watch?v=iXcKZdB95eM <--- на экран ноутбука выводится :)
  • У тебя при сборке много куча непонятных вещей сделано, поэтому:
    1) git clone https://review.coreboot.org/coreboot.git
    2) make crossgcc-i386
    3) в coreboot/src/device/Kconfig

    Code: Select all

    config MULTIPLE_VGA_ADAPTERS
       bool
       default n
    
    4) с VGA все понятно.
    5) make menuconfig - заходим и выбираем производителя и модель. сохраняем конфиг и
    6) make
    Правильно? После загрузки сможет ли грузится ОС по сети, с диска (AHCI)? Или для этого еще нужно установить SeaBIOS обязательно? И как биосу "сказать", с какого именно диска (ус-ва) грузиться, если у него нет конфига?
    И см. скрин: это, я так понимаю, чтобы биос смог загрузится с USB-дисков? (usb 3.0).
    И как задать режим работы дискового контроллера? IDE/AHCI?
    ПЫ СЫ: через недельку появятся средства, и закажу все ингредиенты :D :D :D
    ПЫ СЫ2: а как с корбутом ноут ведет себя при перегреве? есть ли троттлинг? или он даже при сверхнагреве не отрубит ноут? очень интересно! и как будет себя вести при 90 градусах... потому что на стоке чуть что, сразу троттлинг :(
    Attachments
    Capture.PNG
    Capture.PNG (22.56 KiB)
    Viewed 10965 times
  • ПЫ СЫ3: в конфиге есть что-то вроде SATA MODE, но там нифига не понятно, потому что есть только численный параметр (0 по дефолту)
  • Попробовал собрать с этим xhci. это ошибка, или что? :lol:
    Attachments
    Capture.PNG
    Capture.PNG (33.39 KiB)
    Viewed 10965 times
  • Там бинарник xhci фирмвари надо предоставить для включения в образ
  • А как быть все же с двумя видеокартами? lspci говорит следующее:

    Code: Select all

               +-01.0  Advanced Micro Devices, Inc. [AMD/ATI] Richland [Radeon HD 8650G]
               +-01.1  Advanced Micro Devices, Inc. [AMD/ATI] Trinity HDMI Audio Controller
               +-02.0-[01]----00.0  Advanced Micro Devices, Inc. [AMD/ATI] Sun PRO [Radeon HD 8570A/8570M]
    
    То есть, видит обе карточки. Но нужно ли их обе запихнуть в корбут? Или потом система сама все подловит? Или у этой дискретной карты есть свой биос, и включать его в биос системы не надо?
  • ROM Chip Size - что тут указывать? По дефолту стоит 4 мб, но у нас же размер чипа 8 мб?
    PS. Как раз на этапе сборке и возникает куча вопросов :)
    Add a bootsplash image - а какое нужно разрешение и параметры изображения? Или пойдет любое? :)
    PS/2 keyboard init - означает, что будет ли иннициализирована встроенная клава? нужно ли это? :)
    Как себя ведет вентилятор? На линуксе температура если 40 по Цельсию в простое, то вентилятор никак не хочет отключаться. А вот даже при перегреве не разгоняется выше ~30%, когда через Power Manager (lenovo) можно включить "продув" и охлад будет работать на 100%.
    Думаю взять этот и этот, судя по отзывам, ошибок при работе нет. На 500 руб., собака :)
    Ну вот, собрал первый тестовый образ. Включил картинку и vgabios.
    sha512:a5ed622d2f11a6ee6305137b28bc8927481aba76337125a593e63a129c098328c6393fd08442e57cda5cf044c2fdc568417962c278b36fc4e42d837bd05965f2
  • art_zh wrote:на АМД системную частоту при перегреве скидывает специальный встроенный микроконтроллер.
    который программируется по дефолту в отдельном модуле BIOS (и в coreboot тоже - AMD давно слила туда свой микрокод).

    ну и да, интел (увы) всегда впереди. Потому что против их холодных нанометров никто (просто термодинамически) устоять не сможет.
    Раз он есть в корбуте, значит, можно просто как-то выпилить?
  • olodar
    ну наверное в принципе можно, но вот насчет "просто" я бы не зарекался.
    Евангелие от Иоанна: стих 1

    Code: Select all

    ; В начале было Слово:
    B32:        mov     ax, os_stack       ; Selector for os
    [/size]
  • olodar wrote:У тебя при сборке много куча непонятных вещей сделано, поэтому:
    1) git clone https://review.coreboot.org/coreboot.git
    2) make crossgcc-i386
    3) в coreboot/src/device/Kconfig изменить config MULTIPLE_VGA_ADAPTERS
    4) с VGA все понятно.
    5) make menuconfig - заходим и выбираем производителя и модель. сохраняем конфиг и
    6) make
    Правильно?
    Да, можно так сделать, это "минимальный рабочий конфиг" - минимум настроек чтобы получить рабочий биос. Моя версия настроек занимает на 10 минут больше времени если без "аддона" filo; или на час больше если собирать filo (из-за того что придётся делать загрузочный диск/флешку с 32-битной убунтой, потому что на 64-битном линуксе filo не собирается) . Зато полученная на выходе сборка биоса будет отличаться в лучшую сторону; вот список отличий:
    1) выбрана последняя версия SeaBIOS (новее чем "стабильная", но тоже исправно работает)
    2) добавлены "payload-аддоны" memtest, nvramcui, coreinfo и tint (причём исходники тетриса tint пропатчены до новой версии, а в исходники nvramcui вручную добавлены три строчки для поддержки USB-клавиатуры)
    3) включены дополнительные опции чтобы работал nvramcui и в coreinfo можно было смотреть сколько времени грузился биос
    4) отдельно собран и добавлен загрузчик линуксовых ядер filo (минималистичная альтернатива GRUB-у), причем в исходниках libpayload разрешено использование "непротестированных" SATA-контроллеров чтобы запустить AMD-шный
    5) включен YABEL для дополнительной безопасности (чтобы "огородить" закрытый VGABIOS)
    6) выключена поддержка интеловских PCI-e карт (потому что они редко встречаются, да и не люблю интел)
    7) пожалуй, самое главное - добавлен дискетный образ с KolibriOS

    Начиная со спойлера "6)" в моем первом сообщении этой темы - подробно рассказано как выполнить все эти изменения и какие конкретные опции нужно дополнительно включить. + В конец первого сообщения в этой теме добавил краткую инструкцию как пользоваться меню menuconfig; например: кнопка ? - узнать больше о подсвеченной опции, а правый слэш / - поиск по опциям.

    Можно конечно воспользоваться моими собранными образами коребута, приложенными к первому сообщению, но они были собраны месяца 3 назад и немного устарели... В любом случае неплохо бы всем пользователям coreboot научиться самостоятельно собирать биос, чтобы оперативно обновляться и ни от кого не зависеть, это похвально! :wink:
    olodar wrote:После загрузки сможет ли грузится ОС с диска (AHCI),
    Разумеется сможет
    olodar wrote:по сети?
    по сети сможет если дополнительно собрать образ IPXE и добавить этот образ к образу coreboot. Инструкция - https://www.coreboot.org/IPXE . Загрузка по сети - это дополнительный риск безопасности, поэтому она меня не интересует...
    olodar wrote:Как биосу "сказать", с какого именно диска (ус-ва) грузиться,
    Про это уже было написано в первом сообщении... После нажатия кнопки включения ноутбука понажимать Escape и дальше начать кнопку 1-9 на клавиатуре, которая соответствует диску, устройству, RamDisk-у или payload-у ("аддону") с которого ты хочешь загрузиться
    olodar wrote:если у него нет конфига?
    Статичный конфиг (меняется только с перепрошивкой) у него разумеется есть, например https://www.seabios.org/Runtime_config# ... boot_order - можно добавить к образу coreboot текстовый файл чтобы изменить порядок загрузки по умолчанию. Динамический конфиг (можно менять после прошивки) есть в "аддоне" nvramcui - там есть опция boot_devices, но скорее всего она используется только загрузчиком filo, и вообще по ней нет толковой документации - остаётся или гуглить сообщения или исходники читать...

    Конфиг не нужен, ведь после нажатия кнопки включения нажимать ещё ровно две кнопки (Escape и номер девайса в списке) - это несложно! :)
    olodar wrote: