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

Using Kolibri in embedded systems
  • Касательно виртуализации - а в чем заключается её неполноценность? Вроде виртуалки запускал, все работало.
    Также там сказано про спящий режим:
    "Caveats: Sleep mode does not work under Qubes. Good to disable both XHCI options in Coreboot menu or the left side ports won't work at all. Disabled they sort of function as USB 2.0 (or 1.1?) ports, but you may have to use irqpoll (on sys-usb kernel options if using Qubes)."
    Что это за Qubes, не могу никак понять? И как заставить работать уже спящий режим полноценно?
    Колхозить аппартную регулировку, конечно, очень нежелательно, я просто не представляю, как это сделать нормально. Не будет же торчать рядом переменный резистор большой какой-нибудь. Есть вариант - сделать на ардуинке: датчик приклеить на трубку, и записать инструкции в прошивку контроллера, а он будет, в зависимости от температуры, регулировать напругу, подаваемой на вентилятор.
    И как быть с регулировкой яркости? Я давно не сижу на корбуте, поэтому: как быть, если, во-первых не работают кнопки для регулировки яркости, во-вторых, в винде регулировка яркости работает через заднее место: на одном драйвере работает, на другом не работает, на стоке все работает.
  • olodar wrote:Также там сказано про спящий режим:
    "Caveats: Sleep mode does not work under Qubes. Good to disable both XHCI options in Coreboot menu or the left side ports won't work at all. Disabled they sort of function as USB 2.0 (or 1.1?) ports, but you may have to use irqpoll (on sys-usb kernel options if using Qubes)."
    Что это за Qubes, не могу никак понять? И как заставить работать уже спящий режим полноценно?
    Qubes - это операционная система с линуксовым ядром (дистрибутив Linux) сфокусированная на безопасности: для каждой задачи можно легко создавать отдельную виртуалку изолированную от других. Например: щёлкаешь на значок браузера - запускается временная изолированная виртуалка с браузером, причём даже если браузер насквозь дырявый в плане безопасности - благодаря изолированности виртуалки не смогут похитить данные которые находятся в твоих основных виртуалках. закрыл браузер - и временная виртуалка схлопнулась со всем её содержимым. При этом разумеется есть механизмы передачи информации между виртуалками, но они тоже продуманы в плане безопасности, пусть и менее удобно копировать между ними файлы

    Насчёт спящего режима: в коребуте его вроде как починили, поэтому то что "спящий режим не работает нормально в Qubes" - это или устаревшая инфа, или проблема в самой Qubes, или ещё вариант что Qubes не на 100% совместима с коребутом из-за чего спящий режим прекрасно работает в других ОС и только в Qubes проблемы. я давно не запускал Qubes поэтому не знаю какой вариант правильный
    olodar wrote:Касательно виртуализации - а в чем заключается её неполноценность? Вроде виртуалки запускал, все работало
    Виртуалки, которые ты запускаешь - это "паравиртуализация" (Paravirtualized VM), "более программная" где даже эмулируется виртуальное железо. PVM хорошо работает почти везде

    HVM - аппаратная виртуализация - даёт виртуалкам более прямой доступ к железу, при этом используется IOMMU и прочие фичи для сохранения безопасности, и благодаря использованию аппаратных фич вроде AMD-V производительность HVM получается выше чем у PVM. Но работоспособность HVM зависит от железа, и наличия AMD-V / IOMMU + желательно SLAT (у нас это всё есть!). Любая версия Qubes использует HVM, а Qubes 4 - на полную катушку

    Выяснилось, что если не установить микрокод - то HVM в Qubes 4 будет зависать. При этом PVM разумеется работает хорошо, т.к. заметно меньше зависит от железа. А если установить микрокод - и то и другое будет работать хорошо
    olodar wrote:Колхозить аппартную регулировку, конечно, очень нежелательно, я просто не представляю, как это сделать нормально. Не будет же торчать рядом переменный резистор большой какой-нибудь. Есть вариант - сделать на ардуинке: датчик приклеить на трубку, и записать инструкции в прошивку контроллера, а он будет, в зависимости от температуры, регулировать напругу, подаваемой на вентилятор.
    думаю проще купить что-то наподобии этого - https://www.aliexpress.com/item/Unique- ... 04678.html кстати, у нашего вентилятора 4 провода: два провода напряжение, один провод управление скоростью вращения (есть не во всех ноутбучных вентиляторах но у нашего есть), и ещё один провод через который внутренний контроллер вентилятора сообщает материнке с какой скоростью он вращается - этот провод лучше не отсоединять, а то вдруг "официальный биос" который ты сейчас используешь - откажется включать комп, типа "вентилятор сломался, надо заменить"
    olodar wrote:И как быть с регулировкой яркости? Я давно не сижу на корбуте, поэтому: как быть, если, во-первых не работают кнопки для регулировки яркости, во-вторых, в винде регулировка яркости работает через заднее место: на одном драйвере работает, на другом не работает, на стоке все работает.
    на предыдущих страницах была мысль допилить коребут в плане его взаимодействия с мультиконтроллером, чтобы эта фича заработала, и даже вычислили места в исходниках где примерно нужно ковыряться. но тут так много параллельных дел что до регулировки яркости пока не дошли руки
  • Еще куча чего нужно доработать, а прогресс практически стоит на месте. Таким темпом стабильный биос появится лет через 10-15, когда ноут уже во всем устареет)
    Еще бы неплохо было бы сделать возможность регулировать вольтаж процессора, чтобы даунвольтнуть его, понизив нагрев таким образом, что также продлит его "срок жизни".
    А есть какие-нибудь другие биос-проекты, заточенные под большой функционал и безгеморный процесс портирования? Для других ноутов каким-то образом умудряются делать "разлоченные" биосы, где довольно богатый функционал, можно даже разгонять проц/раму и менять вольтаж, но не у нашего. Ну есть корбут, а что толку, если даже базовые функции не работают в нем? Я уже молчу про расширенный функционал какой-то. А чтобы пилить его, нужно как минимум иметь большой опыт в системном программировании.
  • Кстати, очень много в инете на русском и английском языке, в темах на форумах о нашем ноуте вижу пропагандисткие посты, призывающие собрать и поставить корбут, содержания типа "хорошая новость - g505s поддерживается проектом coreboot, чтобы поставить, нужно купить прошивальщик и прошить его" -- это не ты случайно их пишешь?))
  • olodar wrote:Еще куча чего нужно доработать, а прогресс практически стоит на месте. Таким темпом стабильный биос появится лет через 10-15, когда ноут уже во всем устареет) Ну есть корбут, а что толку, если даже базовые функции не работают в нем? Я уже молчу про расширенный функционал какой-то. А чтобы пилить его, нужно как минимум иметь большой опыт в системном программировании
    Многим и сегодняшнего хватает для полноценной работы: даже когда спящий режим не работал на нём уже куча народа сидела. Тем более что вроде как если установлен официальный биос то Qubes с его HVM на этом ноуте не работает, да и KolibriOS с мемтестом и тетрисом в оф.биос нельзя запихнуть, + параноики вроде меня опасаются что в закрытом оф.биосе сидят бэкдоры
    olodar wrote:А есть какие-нибудь другие биос-проекты, заточенные под большой функционал и безгеморный процесс портирования?
    Других опенсорсных биосов кроме коре/либребута - к сожалению нету
    olodar wrote: Для других ноутов каким-то образом умудряются делать "разлоченные" биосы, где довольно богатый функционал
    "разлоченные" биосы делают так: подгружают файл биоса в сервисную утилиту вроде Insyde H20EZE и просто разблокируют нужные менюшки через удобный графический интерфейс - но не для всех биосов есть такие утилиты и они не всегда работают, например для нашего почему-то даёт ошибку при попытке входа в редактор доступных менюшек ; если утилиты нету или не получается, приходится жонглировать UEFI-ными модулями и сидеть в HexEditor-е - всё это грустно долго и уныло, для нашего ноута например ни у кого так и не получилось для оф.биоса ни менюшки скрытые разблокировать ни даже WiFi whitelist удалить - смотрел на https://www.bios-mods.com (это основной сайт где сидят люди редактирующие оф.биосы)
    olodar wrote:Еще бы неплохо было бы сделать возможность регулировать вольтаж процессора, чтобы даунвольтнуть его, понизив нагрев таким образом, что также продлит его "срок жизни"
    olodar wrote:можно даже разгонять проц/раму и менять вольтаж, но не у нашего.
    Разгонять проц и менять вольтаж можно через утилиты. На линуксе - при помощи turionpowercontrol понижали вольтаж для A8-4500M - https://superuser.com/questions/1097390 ... ning-linux - и изменяли его частоты через выставление P-State - https://gist.github.com/SuicSoft/ea59b5 ... 6c4dae331d. Для A10-5750M всё это тоже должно работать т.к. они из одного семейства. Ещё есть amdctl тоже для этих целей - https://github.com/kevinlekiller/amdctl Страницами ранее мы вроде как пытались уже использовать эти утилиты для того чтобы перевести A10-5750M в P-State 0 (pb0) соответствующий Turbocore, правда я не помню чем всё закончилось

    А вот оперативку вроде как только из биоса можно оверклочить!
    В исходниках коребута нашёл следующие интересные файлы (может есть ещё) :

    Code: Select all

     coreboot/src/mainboard/lenovo/g505s/buildOpts.c
     coreboot/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c
     coreboot/src/vendorcode/amd/agesa/f15tn/Proc/Mem/NB/TN/mndcttn.c
     coreboot/src/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/DMI/mfDMI.c
     coreboot/src/vendorcode/amd/agesa/f15tn/Proc/Mem/NB/mndct.c
     coreboot/src/vendorcode/amd/agesa/f15tn/AGESA.h
     coreboot/src/northbridge/amd/amdmct/mct_ddr3/mctrci.c
    Открой их и сделай поиск по 1866, увидишь интересные строки вроде

    Code: Select all

    #define DDR1600_FREQUENCY   800    ///< DDR 1600
    #define DDR1866_FREQUENCY 933 ///< DDR 1866
    Думаю, если в одном или нескольких из этих файлов скопировать значения оперативки 1866MHz к оперативке 1600MHz
    то она тоже попытается запуститься на 1866MHz :P только неизвестно сработает ли и какие будут тайминги в случае успеха
  • olodar wrote:Кстати, очень много в инете на русском и английском языке, в темах на форумах о нашем ноуте вижу пропагандисткие посты, призывающие собрать и поставить корбут, содержания типа "хорошая новость - g505s поддерживается проектом coreboot, чтобы поставить, нужно купить прошивальщик и прошить его" -- это не ты случайно их пишешь?))
    отчасти я наспамил :lol: (на русскоязычных наверное почти всё моё), отчасти друзья постарались кто тоже на g505s+coreboot сидит. Разумеется мы заинтересованы в том чтобы люди присоединялись к нам: есть шанс что часть присоединившихся не просто соберут коребут под свой g505s, а и внесут какой-нибудь вклад в общее дело и нам всем станет немного легче - ведь помимо coreboot мы участвует и во многих других опенсорсных проектах
  • Хотелось бы редактировать вольтаж на уровне биоса. А если будет какая-нибудь макось, где этих утилит нет, или фиг пойми как под андроидом эту прогу запустить.
    А насчет частоты оперативки - у меня одна планка на 1333 мГц, другая 1600, по дефолту ведь стоит 1600? А насколько я помню, то они так же, как и на стоке, работали на 1333 мГц.
    Кстати, читал, что можно использовать видеопамять и пометить ее как mtd ус-во, а на нем уже создать своп, например.
    Нужен модуль slram, но, например, в убунте его нет. Как быть с этим, не подскажешь? А то 2 гига видеопамяти во внешней видюхе простаивают...
    Я тоже делаю вклад, можно сказать. Нашел, как наладить работу AHCI и довольн