ua3nbw форум

General Category => Обсуждение статей сайта => Тема начата: admin от Март 17, 2019, 03:57 pm

Название: Сборка ядра Linux на целевой платформе ARM
Отправлено: admin от Март 17, 2019, 03:57 pm
Сборка ядра Linux на целевой платформе ARM (https://ua3nbw.ru/all/sborka-yadra-linux/)
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: igzero от Март 19, 2019, 08:46 am
Приветствую категорически! Я видно первый, но думаю что не последний. Продолжаю эксперименты с NANOPI M+, поробую на нем bootlin. По результату отпишусь.
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: ua3nbw от Март 19, 2019, 12:24 pm
ЦитироватьПриветствую категорически! Я видно первый, но думаю что не последний. Продолжаю эксперименты с NANOPI M+, поробую на нем bootlin. По результату отпишусь.
Приветствую ! Я тоже  экспериментирую на Orangepi-pc(H3) с Sunxi-Cedrus (https://linux-sunxi.org/Sunxi-cedrus), но пока значимых результатов нет, вроде всё работает, но mpv и  vlc по их описанию  запустить пока не удалось.
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: igzero от Март 20, 2019, 07:12 am
В статье по сборке маленькая неточность. Необходимо добавить опцию
CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
Без этого не появится в STAGING выбор CEDRUS и модуль не соберется
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: igzero от Март 21, 2019, 04:40 am
День добрый! Наконец-то добрался до форума. Небольшой отчет. Собрал bootlin на целевой платформе. Тестировать не начал, т.к. еще не разобрался.

root@nanopim1plus:~# uname -a
Linux nanopim1plus 5.0.0 #1 SMP Wed Mar 20 16:22:49 UTC 2019 armv7l GNU/Linux
root@nanopim1plus:~#
root@nanopim1plus:~# uname -r
5.0.0
root@nanopim1plus:~#
root@nanopim1plus:~# lsb_release -da
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.8 (stretch)
Release:        9.8
Codename:       stretch
root@nanopim1plus:~#
Cedrus завелся, причем DTB файл я не правил, под CMA выделил 256М при конфигурировании ядра
root@nanopim1plus:~# dmesg|grep cedrus                                         
[    4.799451] sunxi_cedrus: module is from the staging directory, the quality is unknown, you have been warned.
[    4.807752] cedrus 1c0e000.video-codec: Device registered as /dev/video0
root@nanopim1plus:~#
Обратите внимание, что cedar драйвер поднимает устройство /dev/video0
Вопрос что же с ним делат?
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: ua3nbw от Март 21, 2019, 09:33 am
ЦитироватьВ статье по сборке маленькая неточность. Необходимо добавить опцию
CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
Без этого не появится в STAGING выбор CEDRUS и модуль не соберется
спасибо, добавил в статью.


ЦитироватьОбратите внимание, что cedar драйвер поднимает устройство /dev/video0
Вопрос что же с ним делать?
А далее, как пишут тут: Sunxi-Cedrus (https://linux-sunxi.org/Sunxi-cedrus) ставим VAAPI backend -  libva-v4l2-request libva-dump desktop,vlc и тестируем VA-API video decoder.
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: igzero от Март 24, 2019, 04:20 am
Проверить проверил, их тесты работают. Но что-то у меня нет понимания как этим пользоваться. Подключаю UVC (USB) камеру сразу появляются дополнительные интерфейсы /dev/video1,/dev/video2 и /dev/media1
root@nanopim1plus:/usr/local/src/v4l2-request-test# ls /dev/media* /dev/video*
/dev/media0  /dev/media1  /dev/video0  /dev/video1  /dev/video2
root@nanopim1plus:/usr/local/src/v4l2-request-test#
Вот что показывает v4l2-ctl

root@nanopim1plus:/usr/local/src/v4l2-request-test# v4l2-ctl -V -d /dev/video0
Format Video Capture:
        Width/Height      : 16/32
        Pixel Format      : 'ST12'
        Field             : None
        Bytes per Line    : 32
        Size Image        : 1536
        Colorspace        : Default
        Transfer Function : Default
        YCbCr/HSV Encoding: Default
        Quantization      : Default
        Flags             :
root@nanopim1plus:/usr/local/src/v4l2-request-test# v4l2-ctl -V -d /dev/video1
Format Video Capture:
        Width/Height      : 640/360
        Pixel Format      : 'YUYV'
        Field             : None
        Bytes per Line    : 1280
        Size Image        : 460800
        Colorspace        : sRGB
        Transfer Function : Default
        YCbCr/HSV Encoding: Default
        Quantization      : Default
        Flags             :
root@nanopim1plus:/usr/local/src/v4l2-request-test# v4l2-ctl -V -d /dev/video2
VIDIOC_G_FMT: failed: Invalid argument

Просвятите меня
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: ua3nbw от Март 24, 2019, 11:10 am
ЦитироватьПроверить проверил, их тесты работают. Но что-то у меня нет понимания как этим пользоваться. Подключаю UVC (USB) камеру сразу появляются дополнительные интерфейсы /dev/video1,/dev/video2 и /dev/media1
root@nanopim1plus:/usr/local/src/v4l2-request-test# ls /dev/media* /dev/video*
/dev/media0  /dev/media1  /dev/video0  /dev/video1  /dev/video2
root@nanopim1plus:/usr/local/src/v4l2-request-test#
У меня также. Подключал usb камеру Logitech, Inc. Webcam C170.
сходу понять зачем появляются сразу три интерфейса и как этим воспользоваться не смог.
Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: ua3nbw от Март 25, 2019, 09:44 am
Наверное в menuconfig это лишнее:

Device Drivers  ---> Multimedia support
 
   V4L platform devices  --->
                <M>   Allwinner V3s Camera Sensor Interface driver 
       
   Memory-to-memory multimedia devices  --->
                <M>   Deinterlace support
                <M>   SuperH VEU mem2mem video processing driver

   Media test drivers  ---> 
                <M>   Virtual Media Controller Driver (VIMC)
                <M>   Virtual Video Test Driver   
                 [ ]     Enable CEC emulation support (NEW)   
                (64)    Maximum number of devices (NEW) 
                <M>   Virtual Memory-to-Memory Driver   
                <M>   Virtual Codec Driver[/li]


Название: Re: Сборка ядра Linux на целевой платформе ARM
Отправлено: igzero от Март 25, 2019, 05:15 pm
Я тоже думаю, что лишнее, но "на скорость не влияет", т.к. все равно это подгружаемые модули.