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

Using Kolibri in embedded systems
  • Кстати, а как сообщить разработчикам о имеющихся проблемах? И имеет ли смысл?
  • olodar wrote:Кстати, а как сообщить разработчикам о имеющихся проблемах? И имеет ли смысл?
    Есть три списка рассылки
    1) coreboot - https://www.coreboot.org/Mailinglist (всё что имеет отношение к coreboot)
    Страница списка рассылки 1 - https://mail.coreboot.org/mailman/listinfo/coreboot
    2) seabios - https://www.seabios.org/Mailinglist (только то что связано конкретно с seabios)
    Страница списка рассылки 2 - https://mail.coreboot.org/mailman/listinfo/seabios
    3) flashrom - https://www.flashrom.org/Mailinglist (а тут обсуждаются темы про flashrom)
    Страница списка рассылки 3 - https://mail.coreboot.org/mailman/listinfo/flashrom

    Чтобы поучаствовать в обсуждении, очень рекомендуется подписаться на список рассылки,
    потому что если не подписаться а просто отправлять то сообщения будут подвисать на модерации

    Для подписки нужно зайти на страницу списка рассылки, ввести свой почтовый адрес и нажать Subscribe,
    на него прийдёт письмо содержащее ссылку с подтверждением, переходим по ней и тоже нажимаем Subscribe.
    Теперь с этого почтового ящика можно отправлять письма на e-mail указанный на странице списка рассылки

    Польза от баг репортов разумеется есть, особенно если они подробно описывают технические особенности проблемы.
    К тому же - те модели материнских плат, на которых долгое время никто не использует coreboot, могут и удалить! :twisted:

    Поэтому нам очень полезно время от времени (хотя бы раз в полгода!) как бы напоминать о своём существовании:
    что есть ещё люди которые сидят на Lenovo G505S ! И если вдруг кто-то из "админов" предложит удалить G505S из coreboot,
    вынеся этот вопрос на обсуждение в рассылку - вовремя это заметить и очень попытаться переубедить этого человека
    Ведь если удалят материнскую плату из официального репозитория coreboot, для того чтобы пользоваться на ней
    новым coreboot - каждый раз придётся делать очень много ручной работы для обновления исходников

    Можно даже присылать свои патчи через Gerrit, мелкие и не очень - https://www.coreboot.org/Git#Gerrit
    Если их одобрят "админы" (главные разработчики coreboot) то твой код будет добавлен в официальную ветку :wink:
    floppy121 wrote:Скорее всего это тестирование произойдёт 1-4 июня то есть через две недели,
    раньше вряд ли смогу. я и сам жду, сам себя, мне тоже интересно :)
    К сожалению не успел на этих выходных, было очень много работы... :cry: Надеюсь что удастся на неделе
  • floppy121 wrote:
    olodar wrote:Кстати, а как сообщить разработчикам о имеющихся проблемах? И имеет ли смысл?
    Есть три списка рассылки
    1) coreboot - https://www.coreboot.org/Mailinglist (всё что имеет отношение к coreboot)
    Страница списка рассылки 1 - https://mail.coreboot.org/mailman/listinfo/coreboot
    2) seabios - https://www.seabios.org/Mailinglist (только то что связано конкретно с seabios)
    Страница списка рассылки 2 - https://mail.coreboot.org/mailman/listinfo/seabios
    3) flashrom - https://www.flashrom.org/Mailinglist (а тут обсуждаются темы про flashrom)
    Страница списка рассылки 3 - https://mail.coreboot.org/mailman/listinfo/flashrom

    Чтобы поучаствовать в обсуждении, очень рекомендуется подписаться на список рассылки,
    потому что если не подписаться а просто отправлять то сообщения будут подвисать на модерации

    Для подписки нужно зайти на страницу списка рассылки, ввести свой почтовый адрес и нажать Subscribe,
    на него прийдёт письмо содержащее ссылку с подтверждением, переходим по ней и тоже нажимаем Subscribe.
    Теперь с этого почтового ящика можно отправлять письма на e-mail указанный на странице списка рассылки

    Польза от баг репортов разумеется есть, особенно если они подробно описывают технические особенности проблемы.
    К тому же - те модели материнских плат, на которых долгое время никто не использует coreboot, могут и удалить! :twisted:

    Поэтому нам очень полезно время от времени (хотя бы раз в полгода!) как бы напоминать о своём существовании:
    что есть ещё люди которые сидят на Lenovo G505S ! И если вдруг кто-то из "админов" предложит удалить G505S из coreboot,
    вынеся этот вопрос на обсуждение в рассылку - вовремя это заметить и очень попытаться переубедить этого человека
    Ведь если удалят материнскую плату из официального репозитория coreboot, для того чтобы пользоваться на ней
    новым coreboot - каждый раз придётся делать очень много ручной работы для обновления исходников

    Можно даже присылать свои патчи через Gerrit, мелкие и не очень - https://www.coreboot.org/Git#Gerrit
    Если их одобрят "админы" (главные разработчики coreboot) то твой код будет добавлен в официальную ветку :wink:
    floppy121 wrote:Скорее всего это тестирование произойдёт 1-4 июня то есть через две недели,
    раньше вряд ли смогу. я и сам жду, сам себя, мне тоже интересно :)
    К сожалению не успел на этих выходных, было очень много работы... :cry: Надеюсь что удастся на неделе
    Ну, короче говоря, имеющееся проблемы:
    1) Не работает синезуб. Вернее, работать-то работает, а вот устройства не находит. И если найдет устройство, то беспроводные наушники никак не хотят подключаться (другие ус-ва не пробовал). Драйвера впорядке. В данном случае решением послужил костыль - заюзать USB синезуб.
    2) Дискретная видеокарта (если точнее, гибридная графика, две видеокарты) все равно не нужны, этот двухядерный процессор не может "раскрыть" видеоядро, встроенное в него же, о двух тут вообще нечего говорить.
    3) Не работает микрофон. Вообще.
    4) Не работает веб-камера. Вообще.
    5) Приостановка системы в ОЗУ (спящий режим) так и не работают, в незавимости от изменения уровня логов (или как там оно правильно называется).
    Кстати, недавно говорил со знакомыми, они говорили, что подключали видеокарту через mini pci-e к ноуту, и изображение выводилось на экран ноутбука, без подключения внешнего монитора.
    Простой же райзер подойдет, или там какой-то специфический концентратор нужен?
  • Кстати, если этот способ с внешней видеокартой сработает, то можно как-то совместить два биоса? В одном случае видеоядро загружается (т.е. биос для встроенной видюхи), а во втором не загружается. Тут есть две кнопки - кнопка питания и восстановление, в обоих случаях они врубают питанку, но работают как-бы по-разному. Как-то можно их разделить?
  • olodar wrote:Ну, короче говоря, имеющееся проблемы:
    1) Не работает синезуб. Вернее, работать-то работает, а вот устройства не находит. И если найдет устройство, то беспроводные наушники никак не хотят подключаться (другие ус-ва не пробовал). Драйвера впорядке. В данном случае решением послужил костыль - заюзать USB синезуб
    на Kubuntu 17.04 x86_64 у меня через Bluetooth нормально подключается и передаёт файлы. Скорее всего в твоём G505S до сих пор стоит старая miniPCIe карточка от Broadcom (WiFi+Bluetooth), которая мало того что в линуксе не работает без проприетарных дров (с бэкдорами?) - так ещё и броадком как всегда реальное днище :? Если есть возможность, возьми Atheros AR9462 у китайцев - там и WiFi 2.4GHz+5GHz и Bluetooth, и отличные open-source драйвера для линукса! https://www.aliexpress.com/item/Atheros ... 36682.html

    На некоторых более старых ядрах периодически отваливался Bluetooth что у той что у другой карточки - обычно в процессе включения: то есть иногда включаешь и нет синезуба, перегружаешь комп пару раз и он появляется. На новых ядрах всё работает прекрасно, по крайней мере Atheros AR9462, и в тех редких случаях когда мне был нужен Bluetooth - проблем пока не замечено
    olodar wrote:2) Дискретная видеокарта (если точнее, гибридная графика, две видеокарты) все равно не нужны, этот двухядерный процессор не может "раскрыть" видеоядро, встроенное в него же, о двух тут вообще нечего говорить
    Даже с самыми новейшими стабильными ядрами и драйверами эта дискретная видеокарта пока что отказывается работать в линуксе! При попытке запуска её драйвер вызывает kernel panic. Отправил баг репорт сюда - https://bugs.freedesktop.org/show_bug.cgi?id=101473 . Последнее стабильное линуксовое ядро сейчас - 4.11.5, а по слухам нормальная поддержка видеокарт семейств Southern Islands и Sea Islands будет не раньше ядра 4.13 , сейчас эта поддержка - экспериментальная. Может быть к новому году заработает, а пока можно попытаться и без неё прожить...
    olodar wrote:3) Не работает микрофон. Вообще.
    Встроенный микрофон обнаруживается в линуксе, видел в логах ядра, но звук с него почему-то не идёт.
    среди Input Devices линукс обнаруживает: Internal Microphone, Microphone (unplugged), и Line In (unplugged)

    [*][/i] внутренний микрофон (Internal Microphone) - звук почему-то не идёт, ну или у меня настроено неправильно
    [*][/i] Line In - разумеется пусто (вроде у этого ноута нет круглого порта Line In, только круглый порт для наушников, хотя может быть его можно перенастроить?)
    [*][/i] "Microphone (unplugged)" - какие-то небольшие шумы, громкость которых немного меняется на уровне звука и их там видно, но ушами что-то не слышно;
    и эти шумы не зависят от внешних звуков
    olodar wrote:4) Не работает веб-камера. Вообще
    Действительно, этой камеры вообще не видно, хотя по идее она должна быть в списке USB-устройств. В логе ядра про неё тоже ничего нет. Можно лишь предположить что на начальном этапе включения компа, когда биос ищет USB устройства для возможной загрузки с них, он своими неосторожными попытками инициализации сбивает вебкамеру (которая по идее тоже является USB устройством)

    Проблемы "3)" и "4)" скорее всего решаемы, но нет времени занятся ими. Если мне понадобятся или микрофон или вебкамера,
    проще будет купить внешние устройства - которые к тому же будут более высокого качества чем встроенные.
    olodar wrote:5) Приостановка системы в ОЗУ (спящий режим) так и не работают, в незавимости от изменения уровня логов (или как там оно правильно называется)
    Это более серьёзная проблема, жаль что её не удалось решить уровнем логов. Возможно биос стал быстрее с тех пор, и поэтому даже максимальным уровнем логов его не получается замедлить до той скорости пробуждения при которой он будет работать. Если это так, то может быть если в код биоса добавить задержки (sleep-ы) в нужных местах то оно заработает как надо
    olodar wrote:Кстати, недавно говорил со знакомыми, они говорили, что подключали видеокарту через mini pci-e к ноуту, и изображение выводилось на экран ноутбука, без подключения внешнего монитора.
    Простой же райзер подойдет, или там какой-то специфический концентратор нужен?
    Да, и простой райзер сгодится, разумеется. Только блин всё никак не протестирую, я ведь хочу не просто протестировать -
    - а на свежей максимально прокачанной сборке, и по возможности выложить более новые билды, поэтому это дело не одного часа и до сих пор не удалось сделать...

    Но я всё же не сидел сложа руки! Например, раньше была такая проблема: если в биос добавить много дополнений (payload-ов) типа KolibriOS, memtest, coreinfo, tint,
    FILO, nvramcui, навставлять флэшек - и всего станет больше 10 записей в меню загрузки SeaBIOS, то последние записи пойдут с номерами 11, 12, 13, 14 и т.д. а таких кнопок на клавиатуре нету!
    и в меню загрузки у экрана разрешение 80x25 символов, поэтому если устройств больше 18 то начальные строчки не будет видно.

    Добавил поддержку выбора более чем 10 девайсов в меню загрузки (максимум 35 по числу цифр и букв клавиатуры),
    все девайсы номер которых выше 10 - теперь можно выбрать буквами. + если больше 18 устройств: чтобы всё умещалось на экране
    создаются 2 страницы со списками устройств, между которыми можно листать туда сюда клавишей ENTER

    Патч уже отправил в список рассылки SeaBIOS - https://mail.coreboot.org/pipermail/sea ... 11416.html
    Возможно его скоро добавят в SeaBIOS, но пока что всем желающим придётся отдельно выкачивать его и вручную
    применять к своим исходникам
    Last edited by floppy121 on Sun Jun 18, 2017 1:07 pm, edited 20 times in total.
  • olodar wrote:Кстати, если этот способ с внешней видеокартой сработает, то можно как-то совместить два биоса? В одном случае видеоядро загружается (т.е. биос для встроенной видюхи), а во втором не загружается. Тут есть две кнопки - кнопка питания и восстановление, в обоих случаях они врубают питанку, но работают как-бы по-разному. Как-то можно их разделить?
    Пока что эти кнопки работают одинаково - и та и другая кнопка включают комп. Очевидно, что задать немного разные способы включения можно будет только если нам удастся понять какая из этих кнопок была нажата. Кнопки включения "слушает" EC-контроллер который при их нажатии включает ноут, и значит какая кнопка была нажата - нужно узнавать у EC контроллера!

    Поэтому скорее всего надо копать начиная с файла https://github.com/coreboot/coreboot/bl ... cpi/ec.asl , ну или во всяком случае с https://github.com/coreboot/coreboot/tr ... pal/ene932
    - здесь находится интерфейс взаимодействия между EC контроллером и биосом coreboot (кстати, в том файле помимо кнопок есть ещё всякие интересности)
    Ну и когда удастся различать кнопки включения, можно будет добавить какой-нибудь if/else там где биос может грузить vgabios
    и пробросить снаружи туда переменную типа 0 - обычная кнопка включения , 1 - кнопка восстановления ("NOVO button")
  • Кстати, спасибо за подсказку, не знал, что wifi и синезуб могут быть совмещены.
    Кстати, ты не знаешь, можно ли сюда поставить процессор помощнее? Какой-нибудь хотя-бы четырехядерный.
  • Посмотри, есть ли модификации данной модели с более мощным процессором. Если есть, наверняка его можно ставить, и все компоненты рассчитаны на работу с данным процом.
    to infinity and beyond
  • punk_joker wrote:Посмотри, есть ли модификации данной модели с более мощным процессором. Если есть, наверняка его можно ставить, и все компоненты рассчитаны на работу с данным процом.
    Эта модель самая "мощная". Мда-уж, производительность как у Intel E3400 2010-го года.
  • olodar wrote:можно ли сюда поставить процессор помощнее?
    Единственный процессор, который возможно установить и хоть на чуть-чуть может быть мощнее,
    это A10-5750M ES (Engineering Sample - полностью разблокированные множители).
    Но он редкий и стоит дофига, почти 6 тысяч, а толку мало и нет смысла брать...
    olodar wrote:производительность как у Intel E3400 2010-го года
    у E3400 всего 1429 очков, а у A10 - 3342 очков или больше если быструю оперативку поставить
    По производительности тот процессор который уже стоит - не так уж и плох.
    Если нужно больше: добро пожаловать за десктоп или сервер, к счастью коребут бывает не только для ноутов

    Кстати, появилась реальная идея как врубить дискретную видеокарту ноутбука, возможно сработает :?
  • floppy121 wrote:
    olodar wrote:можно ли сюда поставить процессор помощнее?
    Единственный процессор, который возможно установить и хоть на чуть-чуть может быть мощнее,
    это A10-5750M ES (Engineering Sample - полностью разблокированные множители).
    Но он редкий и стоит дофига, почти 6 тысяч, а толку мало и нет смысла брать...
    olodar wrote:производительность как у Intel E3400 2010-го года
    у E3400 всего 1429 очков, а у A10 - 3342 очков или больше если быструю оперативку поставить
    По производительности тот процессор который уже стоит - не так уж и плох.
    Если нужно больше: добро пожаловать за десктоп или сервер, к счастью коребут бывает не только для ноутов

    Кстати, появилась реальная идея как врубить дискретную видеокарту ноутбука, возможно сработает :?
    Где это у А10 3300 очков? У него около 1600 очков (это все об однопотоке), но никак не 3300. В малопотоке он ничего не тянет, а для многопотока два ядра слишком мало. Кстати, как думаешь, отвал чипсета возможен на нашем ноуте?
  • olodar wrote:Где это у А10 3300 очков? У него около 1600 очков (это все об однопотоке), но никак не 3300. В малопотоке он ничего не тянет, а для многопотока два ядра слишком мало. Кстати, как думаешь, отвал чипсета возможен на нашем ноуте?
    Результаты сравнения которые я разместил вверху - разумеется для многопотока.
    В однопотоке действительно их производительность не сильно отличается, и в принципе это неудивительно:
    E3400 - проц для десктопа, а A10 - для ноута, всё таки две разные весовые категории...

    Но так ли важна производительность в однопотоке? Сейчас большинство однопоточных приложений - лёгкие,
    все более-менее тяжёлые приложения давно переписали на многопоток где это возможно.
    Конечно бывают ленивые программисты которым легче писать в однопотоке, но стоит ли пользоваться их программами? :wink:

    Случаев, когда распараллелить невозможно по объективным причинам, мало.
    Между прочим у A10 четыре ядра, правда не знаю в какой степени они кукурузные...
    olodar wrote:Кстати, как думаешь, отвал чипсета возможен на нашем ноуте?
    Конечно возможен, как и на любом другом ноутбуке :o Вообще на всякий случай можно купить лишние
    чипсет, дискретку, мультиконтроллер и прочие запчасти, чтобы если что-то накроется было чем чинить
  • У А10 два физических ядра, 4 у него потока, а не ядра. Это тот же бульдозер (см. архитектуру бульдозера). 4 ядра - это лишь маркетинг, то же самое, что и у FX 8350 - у него 4 ядра и 8 потоков, но амд толкают его как восьмиядерные.
    Мало случаев? Ха, все современные программы работают в однопотоке - тот же браузер хром - он не умеет использовать больше одного ядра, он распаллеливает лишь за счет отделения вкладок, но это многопоточностью сложно назвать. Хотя это лучше, чем огненная лиса, которая вообще всегда одно ядро нагружает и ужасно лагает.
    А что касается игр - на четырехядерном процессоре в игре SR3/4/GOOH нагружаются лишь два ядра под завязку, когда остальные два просто отдыхают. Танки, дарк - потребляют максимум два ядра (и то думаю, что погрешность какая-то), в основном, они грузят только одно ядро, и постоянно случаются микрофризы, которые ужасно разражают! Целишься с шафта, наводишь прицел, а у тебя игра лагануло и пушку повернуло на 10000000 градусов.
    Да и о чем тут говорить, у FX'а те же четыре ядра, что и у i7 3770 (можно взять даже i5), при этом у интела и тепловыделение меньше, и производительность практически в два раза выше.
  • Всё не так просто. Современное "ядро" содержит несколько конвейеров и может выполнять несколько операций параллельно, если это возможно. А если нет, то лишние конвейеры простаивают так же как и лишние ядра. Идея Hyper-threading в том, чтобы гнать сразу два потока на одном ядре, и если код сильно последовательный, то теоретически это таки может дать двухкратный рост производительности. В Bulldozer всё наоборот: 2 облегчённых ядра могут совместно работать над одним потоком. В обоих случаях производительность сильно зависит от конкретного кода, и ещё раз повторю, что мерять её синтетическими попугаями бессмысленно. Для однопоточной программы это будет 2 ядра, для многопоточной - 4.

    Микроглюки в играх говорят о нехватке видеопамяти (подкачка из оперативы) или оперативы (подкачка с диска). Резкие скачки производительности указывают на слабую видеокарту. Слабый процессор выдаёт низкое, но очень стабильное количество кадров.
  • Who is online

    Users browsing this forum: No registered users and 3 guests