Форум проекта PuppyRus Linux

Обсуждения операционных систем => Процессоры ARM архитектуры => Ядро Linux ARM, .dtb, uboot, initrd => Тема начата: sfs от 12 Апрель 2017, 14:25:18

Название: Ядро 4x
Отправлено: sfs от 12 Апрель 2017, 14:25:18
Где лучше взять исходники?
Какую версия ядра ставить?
Какие-то особенности и инструкция есть?

4.9.26+ (http://forum.puppyrus.org/index.php?topic=19824.msg132102#msg132102) - на x96 работает
4.12.0-next (http://forum.puppyrus.org/index.php?topic=19824.msg132060#msg132060)  - на x96 не работает
Название: Re: Компиляция ядра
Отправлено: balbes150 от 12 Апрель 2017, 20:43:45
Где лучше взять исходники?
Это напрямую зависит от того, что нужно получить на выходе.
Какие-то особенности и инструкция есть?
Особенности есть - зависит от того, где собирать, на железке или кросс-копиляция и как будет использоваться (в составе какой системы).
Один из вариантов инструкции и кстати, там же можно задавать вопросы, народ поможет.
https://forum.armbian.com/index.php?/topic/3344-trying-to-recompile-the-kernel-for-mini-m8s/
еще полезные буквари
http://linux-meson.com/doku.php
http://odroid.com/dokuwiki/doku.php?id=en:odroid-c2
http://docs.khadas.com/
Название: Re: Компиляция ядра
Отправлено: sfs от 13 Апрель 2017, 09:13:02
что нужно получить на выходе.
1. Браузер с html5 mp4.Flash aarch64 ,как я понял, в природе не существует
2. медиаплеер без тормозов
3. kodi без тормозов .
По сути , кроме 2 все есть. Что в ядре можно под это оптимизировать...
где собирать, на железке или кросс-копиляция
Наверное на железке совсем долго будет...
как будет использоваться (в составе какой системы).
arch и юбунту. А какая разница (кроме формата пакеитов...)
Название: Re: Компиляция ядра
Отправлено: balbes150 от 15 Апрель 2017, 21:55:11
1. Браузер с html5 mp4.Flash aarch64 ,как я поняо, в природе не существует
Как связана компиляция ядра и работа браузеров ? 
2. медиаплеер без тормозов
3. kodi без тормозов .
Воспроизведение видео и звука - это понятно, тут многое завязано на ядро. Для этих целей самое лучшее на сегодня ядро от LE. Соответственно для этого нужно брать исходники от ядра LE и софт опакечивать.
А какая разница (кроме формата пакеитов...)
Разница в системе сборки.
Название: Re: Компиляция ядра
Отправлено: sfs от 16 Апрель 2017, 09:17:49
Как связана компиляция ядра и работа браузеров ? 
Не знаю. Может у этого железа свои тонкости типа поддержка видяхи в ядре без которой тормоза во всем мультимедиа
лучшее на сегодня ядро от LE.
Я так понимаю- выдрать готовое из ЛЕ не получится, т.к. оно с initrd ? Т.е. компилить по рецепту  (https://github.com/AlexELEC/AlexELEC-AML)
Разница в системе сборки.
Главное найти правильные ключи компиляции.
Название: Re: Компиляция ядра
Отправлено: sfs от 18 Апрель 2017, 09:32:06
Нашел ядро с aufs в ubuntu64-16.04.2lts-mate-odroid-c2-20170301.img
Я правильно понял из прочих сообщений : odroid-овским ядром можно окирпичить?
Или если использовать свои initrd и s905_autoscript - безопасно?

Что-то я уже не уверен что на таких устройствах фругал (http://wiki.puppyrus.org/setups/full-vs-frugal) актуален
Название: Re: Компиляция ядра
Отправлено: balbes150 от 23 Апрель 2017, 18:13:27
Я так понимаю- выдрать готовое из ЛЕ не получится, т.к. оно с initrd ? Т.е. компилить по рецепту
Ядро можно вытащить. Распаковать kernel.img, получишь отдельное ядро, initrd, а сами dtb данные есть уже в виде отдельных файлов под этот образ. Но нужно еще распаковать SYSTEM (это упакованный squashfs) и вытащить из него модули и firmware. Потом всё это нужно перенести в новую систему и настроить, собрать свой вариант initrd и т.д.

odroid-овским ядром можно окирпичить?
Не самим ядром, а сопутствующими скриптами (из состава образа для Odroid, как некоторые пытаются его запускать без адаптации), которые формируют разные процедуру (например, сборку нового initrd , при обновлении ядра, выполняют первичную настройку и т.д.,) и переписывают загрузчик.


п.с. Сейчас уже доступно новое ядро 4.11 и идёт процесс активного допиливания.
Название: Re: Компиляция ядра
Отправлено: sfs от 24 Апрель 2017, 09:41:02
Распаковать kernel.img, получишь отдельное ядро, initrd,
Как?

доступно новое ядро 4.11 и идёт процесс активного допиливания.
Пора переходить на него? Что оно даст простому юзеру?
Название: Re: Компиляция ядра
Отправлено: balbes150 от 25 Апрель 2017, 19:28:13
Как?
Так же как упаковывают :)
Утилиты mkbootimg и abootimg.
Пора переходить на него? Что оно даст простому юзеру?
Пора или нет - это зависит от задач, которые нужно решать.
Сейчас уже есть ядро 4.х (и образы на его основе), в котором работает три основных составляющих для работы десктопа. видеовыход, проводная сеть и USB. Пока правда только на платформе S905, на S905x и s912 пока не работает USB, т.е. нет возможности использовать клавиши и мышь, но как сервер с SSH или UART можно использовать. Есть возможность начать прикручивать в ручную к новому ядру MALI.

Кстати, сейчас ищутся "добровольцы" с железом на базе S905 S905x s912 для тестирования новых вариантов ядра.

п.с. Вот образы с новым ядром.
https://yadi.sk/d/kZHc0uQE34z5jR
а тут подробности и связь с автором ядра
http://forum.khadas.com/t/state-of-linux-mainline-opengl-on-s905x/497/26
https://forum.armbian.com/index.php?/topic/2419-armbian-for-amlogic-s905-and-s905x/&do=findComment&comment=30100
Название: Re: Компиляция ядра
Отправлено: sfs от 26 Апрель 2017, 09:31:40
Утилиты mkbootimg и abootimg.
Наверное mkimg. abootimg вообще не нашел
Можно пример распаковки?
Пора или нет - это зависит от задач, которые нужно решать.
Задача единственная - выжать максимум из железа в браузере и медиаплеере
ищутся "добровольцы" с железом на базе S905 S905x s912 для тестирования новых вариантов ядра.
Мне надо закончить со своими дистрами. Арч почти готов
Потом подключусь
Название: Re: Компиляция ядра
Отправлено: balbes150 от 29 Апрель 2017, 15:50:46
Наверное mkimg. abootimg вообще не нашел
Нет, именно так, как написано (от ты спорщик :) )
abootimg - ставиться из реп ubuntu\debian , можно прямо в рабочую систему.
Запусти abootimg с указанием файла, он сам распакует и создаст файл настроек, с которыми был собран этот файл.
mkbootimg - запускаешь и прога сама подсказку выведет, какие ключи и для чего.

Задача единственная - выжать максимум из железа в браузере и медиаплеере
Под понятием "максимум" можно многое понимать. Например, в офисе нафик не нужны мультимедийные возможности. Зато нужна поддержка например резервирование, использование новых файловых систем, протоколов IP и безопасности и прочее.
Название: Re: Компиляция ядра
Отправлено: sfs от 19 Май 2017, 15:20:31
https://yadi.sk/d/srrtn6kpnsKz2/Linux/ARMBIAN/Test/deb
x96 не грузится. Висит на первой заставке
Пробовал в 2a. Заменил zImage, модули и dtb

https://yadi.sk/d/srrtn6kpnsKz2/Linux/ARMBIAN/Test
Armbian_5.27_S905_Debian_jessie_4.12.0-next-20170516+_xfce.img.xz
Висит на первой заставке
Название: Re: Компиляция ядра
Отправлено: balbes150 от 19 Май 2017, 21:17:29
x96 не грузится. Висит на первой заставке
Рекомендую использовать образы, там точно все элементы взаимоувязаны, потом можно выдёргивать нужное.

Висит на первой заставке
Какой dtb ?
В каждой версии ядра есть свои особенности с dtb.

Кстати, что-то не вижу на плате X96 UART. У тебя он есть ?
Без него тестирование - слишком муторное, ни чего не понятно, всё методом тыка искать нужно.
Название: Re: Компиляция ядра
Отправлено: sfs от 22 Май 2017, 13:11:35
Какой dtb ?
Бокс: x96. dtb: *s905x-p212
Старое ядро у меня без dtb.img в корне работает (видимо берет из nand)

не вижу на плате X96 UART. У тебя он есть ?
Я не разбирал. Как заюзать UART не энаю. Как и что он поможет тестировать?
Название: Re: Компиляция ядра
Отправлено: sfs от 23 Май 2017, 11:21:44
https://yadi.sk/d/srrtn6kpnsKz2/Linux/ARMBIAN/Test
Armbian_5.27_S905X-S912_Ubuntu_xenial_4.9.26+_mate_20170519.img.xz
Бокс: x96. dtb: *212-2g (212=s905x 2g = 2ГGb RAM)
Работает.
В голой консоле текст появляется с артефактами. Появляется пикселями. После появления - норм
Воспроизведение видео 1080 без улучшений

S905X_S912_ArchLinux_20170519_4_9_26.img.xz - модули ядра (lsmod) - пусто
Много чего вкомпилено в ядро монолитно? Зачем?

По разрешению экрана и появлению изображения на ранних стадиях загрузки , я так понял , тоже улучшений нет
aufs нет

В итоге - какой смысл перейти на это ядро? Плюсов я не нашел

Название: Re: Ядро
Отправлено: balbes150 от 28 Май 2017, 13:50:39
Бокс: x96. dtb: *s905x-p212
Для 4.12 нужно использовать p212-nexbox-a95, остальные не рабочие.
Как и что он поможет тестировать?
Он отображает всё, с самого старта процессора и позволяет управлять системой, когда ни чего вообще не работает из внешних устройств ввода. Это работает на аппаратном уровне.
Воспроизведение видео 1080 без улучшений
Для улучшения нужно компилить софт с поддержкой HW.
Много чего вкомпилено в ядро монолитно? Зачем?
Для того, что-бы тестировать без необходимости каждый раз пересобирать всё (initrd и образ системы).
aufs нет
Насколько знаю, в 4.12 это есть (или нужно включать в конфиге).
В итоге - какой смысл перейти на это ядро? Плюсов я не нашел
В 4.х появляются вещи, которые нужны для использования в качестве DE или сервера. Воспроизведение видео - это не единственное, что нужно многим от этих коробочек.
Название: Re: Ядро
Отправлено: sfs от 29 Май 2017, 09:00:38
Для 4.12 нужно использовать p212-nexbox-a95, остальные не рабочие.
Зачем включать нерабочие....
UART (https://geektimes.ru/post/253786/) - я правильно понял - это аппаратная фича и в x96 ее нет
компилить софт с поддержкой HW.
По итогу экспериментов у меня создалось впечатление что в стандартном софте (mpv vlc ...)  надо патчить исходники. Простыми параметрами компиляции не обойтись

Если aufs.ko нет и в списке builtin нет - разве можно еще что-то сделать...
В 4.х появляются вещи, которые нужны для использования в качестве DE или сервера
Можно примеры...
Название: Re: Ядро
Отправлено: sfs от 10 Октябрь 2018, 17:17:39
Я пока выбыл из игры. Нет девайса
Вернулся. Для решения этой (http://forum.puppyrus.org/index.php?topic=19836.msg131415#msg131415) задачи
Думаю для универсальности сделать armv7h - может и для RPI подойдет
Я что-то потеряю на s905?

Смотрю появилось свежее ядро. Брал здесь (https://yadi.sk/d/pHxaRAs-tZiei/5.60/20180928) Armbian_5.60_Aml-s9xxx_Ubuntu_bionic_default_4.18.7_desktop_20180928.img.xz
Прикрутил к 2A (http://forum.puppyrus.org/index.php?topic=19826.0) :
Разрешение монитора теперь настраивается не через /sys , а как обычно.
Температуру проца в lxpanel стал показывать неправильно. sensors - показывает норм.
Есть еще улучшения?
Если кто юзает 2А - могу подробнее расписать как обновить ядро

s905_autoscript переделан. Теперь параметры ядра в отдельном текст. файле. Удобно
Вот бы его еще править можно было при загрузке...

По видеодровам - похоже без улучшений - fbturbo
Воспроизведение видео без улучшений

Название: Re: Ядро
Отправлено: balbes150 от 15 Октябрь 2018, 13:50:51
Думаю для универсальности сделать armv7h - может и для RPI подойдет
Я что-то потеряю на s905?
Не будет поддержки функционала команд для ARMv8 (дополнительные регистры, набор команд для аппаратного шифрования и т.д.).

Есть еще улучшения?
Добавляется поддержка для аппаратного декодера и на s905 аппаратное ускорение иксов (в образ по дефолту пока не входит, но при желании можно прикрутить руками по этому букварю или взять из LE с ядром 4.18)
https://github.com/superna9999/meson_gx_mali_450/tree/DX910-SW-99002-r7p0-00rel1_meson_gx
Кроме того есть новый вариант u-boot-2018 с которым можно использовать систему, как с обычным диском в eMMC. Создаётся обычная MBR и разделы, как на обычных дисках. В последней версии 5.62 уже можно реализовать обычное обновление ядра через "apt" и сетевые репы (изменился принцип выбора правильного dtb, теперь ни чего не нужно копировать, имя файла задаётся в текстовых файлах uEnv.ini для u-boot-2015 и extlinux.conf для u-boot-2018).

Вот бы его еще править можно было при загрузке...
Зачем править, если есть возможность добавлять дополнительные значения при запуске.

По видеодровам - похоже без улучшений - fbturbo
Забудь про fbturbo, тут используется DRM и v4l2-m2m
Название: Re: Ядро
Отправлено: sfs от 15 Октябрь 2018, 14:50:33
Не будет поддержки функционала команд для ARMv8 (дополнительные регистры, набор команд для аппаратного шифрования и т.д.).
Для xfceerdp это чем-то поможет?
в образ по дефолту пока не входит
В этот образ Armbian_5.60_Aml-s9xxx_Ubuntu_bionic_default_4.18.7_desktop_20180928.img.xz ?
прикрутить руками по этому букварю
Перекомпиляцией ядра?
взять из LE с ядром 4.18
http://releases.libreelec.tv/LibreELEC-Odroid_C2.aarch64-8.2.5.img.gz ? там 314
А в бете вообще нет /lib/modules  ???
новый вариант u-boot-2018
Можно поподробнее...
Если я я правильно понимаю, он прошит в nand производителем...
Можно как-то безопасно перешить на новый ?
имя файла задаётся в текстовых файлах uEnv.ini
Это заметил и работает, но это же через s905_autoscript
есть возможность добавлять дополнительные значения при запуске.
Каким образом?
Забудь про fbturbo, тут используется DRM и v4l2-m2m
Код
# grep LoadMod Xorg.0.log 
[    52.995] (II) LoadModule: "glx"
[    53.215] (II) LoadModule: "modesetting"
[    53.238] (II) LoadModule: "fbdev"
[    53.289] (II) LoadModule: "fbdevhw"
[    53.330] (II) LoadModule: "glamoregl"
[    59.645] (II) LoadModule: "fb"
[    60.642] (II) LoadModule: "libinput"
Что-то не вижу... Это Ваш armbian на s912
В арче как пакеты с этими дровами называются?
Название: Re: Ядро
Отправлено: balbes150 от 16 Октябрь 2018, 09:46:22
Для xfceerdp это чем-то поможет?
не знаю, смотря с какими опциями и компиляторами его собирают.

В этот образ Armbian_5.60_Aml-s9xxx_Ubuntu_bionic_default_4.18.7_desktop_20180928.img.xz ?
пока не в какие не входит

Перекомпиляцией ядра?
ядро не пересобирается, используются исходники ядра для сборки модуля mali.ko, дальше нужно добавить библиотеку mali для X11, и добавить драйвер для иксов xf86-video-armsoc
с модулем и библиотекой проблем нет, а с драйвером у меня пока затык, надо разбираться.
если хочешь поковырять, могу скинуть готовый модуль и библиотеку

А в бете вообще нет /lib/modules
одройд тут ни каким боком, ищи версию 9.1 для KVIM, там ядро 4.18\19
и модули с либами в LE всегда были в /usr/lib, а теперь еще хитрее в overley

Можно поподробнее...
Если я я правильно понимаю, он прошит в nand производителем...
Можно как-то безопасно перешить на новый ?
новый u-boot пока есть только в виде своих сборок (файла) и ни у кого из производителей его нет в прошивках
новый u-boot-2018 есть в составе Armbian и LE (мои сборки) и там же есть скрипт, который позволяет его установить в eMMC, но установка и работа проверены только на Khadas
порядок установки с новым u-boot описан в темах на форумах

Каким образом?
через команду fd

Что-то не вижу... Это Ваш armbian на s912
речь про видеоускорение, оно работает через v4l2-m2m