KolibriOS в BIOS ( coreboot / SeaBIOS ) на G505S - успех!
-
Ну а процессор здесь при чём? Графикой он не занимается.
Погонял в играх, и да, действительно. По ядрам максимум была нагрузка 60% (на каждое ядро, а не ЦП в целом), что уже говорит о том, что ЦП хватает! А вот графический процессор(ы) всегда на 100%. И как вообще будет выводится изображение, интересно, если подключить сюда внешнюю видеокарту? Через монитор, который к самой видюхе подключается, или все же на экран ноутбука можно запихнуть?
https://www.youtube.com/watch?v=iXcKZdB95eM <--- на экран ноутбука выводитсяolodar wrote:Погонял в играх, и да, действительно. По ядрам максимум была нагрузка 60% (на каждое ядро, а не ЦП в целом), что уже говорит о том, что ЦП хватает! А вот графический процессор(ы) всегда на 100%. И как вообще будет выводится изображение, интересно, если подключить сюда внешнюю видеокарту? Через монитор, который к самой видюхе подключается, или все же на экран ноутбука можно запихнуть?
У тебя при сборке много куча непонятных вещей сделано, поэтому:
1) git clone https://review.coreboot.org/coreboot.git
2) make crossgcc-i386
3) в coreboot/src/device/Kconfig
4) с VGA все понятно.
5) make menuconfig - заходим и выбираем производителя и модель. сохраняем конфиг и
6) make
Правильно? После загрузки сможет ли грузится ОС по сети, с диска (AHCI)? Или для этого еще нужно установить SeaBIOS обязательно? И как биосу "сказать", с какого именно диска (ус-ва) грузиться, если у него нет конфига?
И см. скрин: это, я так понимаю, чтобы биос смог загрузится с USB-дисков? (usb 3.0).
И как задать режим работы дискового контроллера? IDE/AHCI?
ПЫ СЫ: через недельку появятся средства, и закажу все ингредиенты
ПЫ СЫ2: а как с корбутом ноут ведет себя при перегреве? есть ли троттлинг? или он даже при сверхнагреве не отрубит ноут? очень интересно! и как будет себя вести при 90 градусах... потому что на стоке чуть что, сразу троттлинг
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
5) make menuconfig - заходим и выбираем производителя и модель. сохраняем конфиг и
6) make
Правильно? После загрузки сможет ли грузится ОС по сети, с диска (AHCI)? Или для этого еще нужно установить SeaBIOS обязательно? И как биосу "сказать", с какого именно диска (ус-ва) грузиться, если у него нет конфига?
И см. скрин: это, я так понимаю, чтобы биос смог загрузится с USB-дисков? (usb 3.0).
И как задать режим работы дискового контроллера? IDE/AHCI?
ПЫ СЫ: через недельку появятся средства, и закажу все ингредиенты
ПЫ СЫ2: а как с корбутом ноут ведет себя при перегреве? есть ли троттлинг? или он даже при сверхнагреве не отрубит ноут? очень интересно! и как будет себя вести при 90 градусах... потому что на стоке чуть что, сразу троттлинг
- Attachments
-
-
Capture.PNG (22.56 KiB)Viewed 10977 times
-
ПЫ СЫ3: в конфиге есть что-то вроде SATA MODE, но там нифига не понятно, потому что есть только численный параметр (0 по дефолту)
Попробовал собрать с этим xhci. это ошибка, или что?
- Attachments
-
-
Capture.PNG (33.39 KiB)Viewed 10977 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
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[/size]
Code: Select all
; В начале было Слово:
B32: mov ax, os_stack ; Selector for os
Да, можно так сделать, это "минимальный рабочий конфиг" - минимум настроек чтобы получить рабочий биос. Моя версия настроек занимает на 10 минут больше времени если без "аддона" filo; или на час больше если собирать filo (из-за того что придётся делать загрузочный диск/флешку с 32-битной убунтой, потому что на 64-битном линуксе filo не собирается) . Зато полученная на выходе сборка биоса будет отличаться в лучшую сторону; вот список отличий: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
Правильно?
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 научиться самостоятельно собирать биос, чтобы оперативно обновляться и ни от кого не зависеть, это похвально!
Разумеется сможетolodar wrote:После загрузки сможет ли грузится ОС с диска (AHCI),
по сети сможет если дополнительно собрать образ 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, и вообще по ней нет толковой документации - остаётся или гуглить сообщения или исходники читать...olodar wrote:если у него нет конфига?
Конфиг не нужен, ведь после нажатия кнопки включения нажимать ещё ровно две кнопки (Escape и номер девайса в списке) - это несложно!
Хоть и удобно называть весь BIOS одним словом "коребут", на самом деле coreboot производит лишь начальную низкоуровневую инициализацию железа компа и передает управление аддону payload-у ("полезной нагрузке), которым обычно является SeaBIOS (в конфиге по умолчанию уже выбрана опция CONFIG_SEABIOS_STABLE - собрать coreboot вместе со стабильным SeaBIOS, но я меняю её на CONFIG_SEABIOS_MASTER чтобы получить SeaBIOS посвежее), причём через SeaBIOS можно грузить вторичные payload-ы: мемтест, тетрис, загрузчик FILO и т.д. Но при желании можно заменить SeaBIOS другим payload-ом: загрузчиком GRUB или FILO, или вообще линуксовым ядром (которое придётся собирать с небольшим набором опций, иначе всё вместе не влезет в 4 МБ биос чип) , или ещё чем-то другим... Вот полный список - https://www.coreboot.org/Payloadsolodar wrote:Или для этого еще нужно установить SeaBIOS обязательно?
Нет. Это возможность добавить в образ коребута XHCI "прошивку"-блоб с закрытым исходным кодом, для того чтобы синие порты USB 3.0 (у G505S таких порта два) работали как USB 3.0 . Проблема в том, что большинство "USB 3.0" устройств по своей скорости работы - "фейковый USB 3.0" : или та же скорость что и USB 2.0, или как в случае с моим переносным жёстким диском "USB 3.0", скорость файловых операций через USB 3.0 максимум на 10 процентов быстрее чем если на том же компе переключить в порт USB 2.0 . К тому же некоторые программы, например VirtualBox, глючат с USB 3.0 портами. Короче, я не увидел смысла в USB 3.0 и не стал добавлять этот блоб (который к тому же создаёт дополнительный риск безопасности т.к. его исходники закрыты), поэтому в моих прошивках все порты работают как USB 2.0 . Если ты считаешь что USB 3.0 нужен, можешь добавить этот блоб самостоятельно, это или ./coreboot/3rdparty/blobs/southbridge/amd/bolton/xhci.bin или ./coreboot/3rdparty/blobs/southbridge/amd/hudson/xhci.bin . Не уверен на 100% какой из них, потому что Southbridge у этого ноута стоит A76M Fusion (Bolton-M3, 218-0844012), но при автоматической сборке хочет взять от Hudson у которого по идее меньше функций... Можешь попробовать и тот и другойolodar wrote:И см. скрин: это, я так понимаю, чтобы биос смог загрузится с USB-дисков? (usb 3.0)
Режим работы дискового контроллера скорее всего выбирается payload-ом. SeaBIOS инициализирует как AHCI, но если вдруг дисковый контроллер древний и AHCI не поддерживает, то наверное будет инициализировать как IDE. Если ставить GRUB вместо SeaBIOS - начиная с какой-то версии он тоже научился в AHCI инициализировать. Кстати, KolibriOS показала мою SATA как AHCI 1.0 , но не знаю правильно ли она определила версию, потому что SATA в KolibriOS на этом ноуте почему-то не работает...olodar wrote:И как задать режим работы дискового контроллера? IDE/AHCI?
я думал что ты уже давно заказал чем раньше тем лучше, ведь ещё из Китая месяц ждатьolodar wrote:ПЫ СЫ: через недельку появятся средства, и закажу все ингредиенты
Троттлинг ведь определяется процессором а не биосом. Разумеется при сверхнагреве процессор мгновенно вырубит компьютер, чтобы самому не сломаться. Чтобы избежать троттлинга, нужно как-то понизить температуру процессораolodar wrote:как с корбутом ноут ведет себя при перегреве? есть ли троттлинг? или он даже при сверхнагреве не отрубит ноут? и как будет себя вести при 90 градусах... потому что на стоке чуть что, сразу троттлинг
Если будут лишние деньги купи вот эту вот баночку 10 грамм GC-Extreme с лопаткой в комплекте, выгоднее чем шприцы и надолго хватит , http://www.xcom-shop.ru/gelid_gc-extreme_426960.html . Не пожалеешь! Самая хорошая термопаста, лучше только "жидкий металл" (который проводит электричество и поэтому лучше избегать) . Ещё как вариант можно купить специальный внешний вентилятор, который прикладывается к вентиляционным отверстиям ноутбука и помогает внутреннему вентилятору высасывать горячий воздух. Например вот эта модель очень хорошая, до 4500 оборотов в минуту, понижает температуру ноута где-то на 10 градусов. http://aliexpress.com/item/Protable-Min ... 37989.html . Такой вентилятор намного луше чем охлаждающая подставка, потому что вентиляторы охлаждающей подставки параллельны материнской плате и располагаются сразу под ней - электромагнитные импульсы этих вентиляторов негативно влияют на материнскую плату и она может сломаться раньше времени. А боковой вентилятор расположен сбоку, не параллельно и на значительном удалении от платы, поэтому он безопасенfloppy121 wrote:Довольно давно поменял термопасту на Gelid GC-Extreme, одна из лучших термопаст согласно куче таблиц тестов которые я посмотрел, и до сих пор даже при загрузке ЦП почти 100% температура не поднимается выше 70 градусов. Раньше (на старой "зубной" пасте которая была намазана производителем) при таких нагрузках он быстро перегревался и выключался
Если нажать кнопку ? на этой опции, то всё станет понятноolodar wrote:в конфиге есть что-то вроде SATA MODE, но там нифига не понятно, потому что есть только численный параметр (0 по дефолту)
Spoiler:
По какой-то причине оно не нашло блоба по этому адресу, и решило не включать в сборку. Почему у тебя меню menuconfig криво рисуется, и вообще всё странно выглядит? В какой операционной системе ты пытаешься собирать, неужели в винде?olodar wrote:Попробовал собрать с этим xhci. это ошибка, или что?
У дискретной карты есть свой VGABIOS который операционная система по идее должна считать в процессе включения, чтобы например иметь возможность переключать разрешение экрана для изображения идущего через эту видеокарту. Но недавно я обнаружил одну интересную вещь: оказывается, в большинстве дистрибутивов линукса отказались от проприетарных AMD драйверов с закрытыми исходниками в пользу опенсорсных, а опенсорсные AMD-шные драйвера для этого семейства дискретных видеокарт пока ещё не подоспели... Вернее, они доступны в ядре Linux 4.10, но только в экспериментальном режиме, и можно включить только пересборкой линуксового ядра с этим включённым конфигом т.к. по умолчанию у всех выключено! Или подождать пока выйдет ядро Linux 4.11 (через полтора-два месяца приблизительно) и или собрать ядро из исходников чтобы притащить его на убунту, или выбрать линуксовый дистрибутив вроде Antergos (Arch линукс с человеческим лицом, по удобству почти как убунта) - в котором постоянно идут обновления на самый свежие версии пакетов как только они выходят, чтобы линуксовое ядро автоматически обновилось до самого нового без ручной пересборкиolodar wrote:А как быть все же с двумя видеокартами? 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]
Вообще-то у всех Lenovo G505S стоит биос чип 4 МБ одной из нескольких моделей, например cFeon EN25QH32-104HIP. Теоретически можно отпаять этот биос чип и припаять другой биос чип таких же линейных размеров, почти такой же модели (чтобы увеличить шансы на совместимость), но 8 МБ. Например, EN25QH64-104HIP (в маркировке этого производителя 32 или 64 в этом месте - количество мегабит; 64 мегабита - максимально, к сожалению не бывает EN25QH128 модели чипа с такими же физическими размерами SOIC-8) . Но я не изучал насчёт адресных линий биос чипа на этой плате, может ли получиться так что припаяли 8 МБ чип а процессору всё равно доступно только "нижних" 4 МБ ?olodar wrote:ROM Chip Size - что тут указывать? По дефолту стоит 4 мб, но у нас же размер чипа 8 мб?
Пока что биос умещается в 4 МБ, но если захочешь например грузить линуксовое ядро прям из биос чипа то 8 МБ были бы кстати. Проблема ещё в том что EN25QH64-104HIP стали редкими, например на алиэкспрессе только один продавец остался - https://www.aliexpress.com/item/EN25QH6 ... 48556.html , и на eBay тоже только один - http://www.ebay.com/itm/1x-OH64-104HIP- ... 1676542140 . Хорошо что я в своё время купил такой чип, хоть и не протестировал его до сих пор... Можешь купить себе хотя бы один такой на будущее, а лучше два чтобы был запасной... 60 рублей всего стоит
https://www.coreboot.org/SeaBIOS#Adding ... h.22_imageolodar wrote:Add a bootsplash image - а какое нужно разрешение и параметры изображения? Или пойдет любое?
Подойдёт BMP или JPG (жаль что PNG не поддерживает), разрешение картинки должно быть в списке поддерживаемых экраном, иначе картинку не покажет. Вообще я без картинки собирал всегда, не знаю как будет выглядеть её отображение
Зависит от того, собираешься ли ты пользоваться клавиатурой ноутбука Если серьёзно, нажми кнопку ? на этой опции и ты увидишь что некоторым payload-ам вроде filo, которые не инициализируют PS/2 сами, нужно чтобы coreboot до них проинициализировал, а некоторые - например SeaBIOS - инициализируют сами и помощь коребута им не нужна. Кстати, у меня в конфиге коребута (во вложениях из первого письма в этой теме) опция CONFIG_DRIVERS_PS2_KEYBOARD, но при этом и в SeaBIOS клавиатура работает, и даже в filo работает - потому что SeaBIOS уже проинициализировал эту клавиатуру до filo, который у меня в качестве "вторичного" payload-а и может быть загружен только из меню загрузки SeaBIOS-аolodar wrote:PS/2 keyboard init - означает, что будет ли иннициализирована встроенная клава? нужно ли это?
Who is online
Users browsing this forum: No registered users and 1 guest