{{indexmenu_n>510}} ===== Подготовка программной части для модуля NMS-SM-RK3568, Kernel 5.10 ===== ==== Сборка Linux при помощи Buildroot и Docker ==== Репозиторий с актуальными DTS: https://github.com/inmys/buildroot-external-inmys/tree/nms-sm-rk3568-5.10 Для выполнение следующей инструкции, на компьютере должно быть установлено [[https://docs.docker.com/engine/install/|Docker окружение]] ==== Подготовка окружения ==== - Необходимо скачать архивы [[https://doc.inmys.ru/open?hash=4ef09a2f3d4e897a616fa0e314928006&fn=external.tar.gz|external.tar.gz]], [[https://doc.inmys.ru/open?hash=7bbc3cfaef565724c1fd0a6d957dc102&fn=kernel_5.10.tar.gz|kernel_5.10.tar.gz]], [[https://doc.inmys.ru/open?hash=3634d88f557950df694f9b85d1e97463&fn=buildroot_5.10.tar.gz|buildroot.tar.gz]], распаковать их в одну папку, перейти в папку container и собрать образ контейнера следующей командой: cd container sudo docker build -t rk3568 . На выходе будет образ **rk3568**, которым можно собирать все компоненты системы. Далее неоходимо перейти в родительский каталог cd .. ==== Сборка rootfs ==== Команды сборки sudo docker run -it -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t rk3568 make rockchip_rk356x_inmys_defconfig -C buildroot sudo docker run -it -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t rk3568 make -C buildroot Сборка может длится до часа, в зависимости от конфигурации компьютера, если возникла ошибка, связанная с host-gcc-final-ХХХ, то повторить команду сборки. Результаты будут лежать в папке buildroot/output/rockchip_rk356x_inmys/images. ==== Сборка kernel ==== Команды сборки: sudo docker run -it -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/rockchip_rk356x_inmys/host/bin/aarch64-buildroot-linux-gnu- rockchip_inmys_defconfig -C kernel sudo docker run -it -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/rockchip_rk356x_inmys/host/bin/aarch64-buildroot-linux-gnu- Image -C kernel Результаты будут лежать в папке kernel/arch/arm64/boot/Image. ==== Сборка dtb ==== Команда сборки sudo docker run -it -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/rockchip_rk356x_inmys/host/bin/aarch64-buildroot-linux-gnu- rockchip/rk3568-inmys-smarc-evm.dtb -C kernel Результат будет лежать в папке kernel/arch/arm64/boot/dts/rockchip/rk3568-inmys-smarc-evm.dtb. ===== Прошивка SD карты ===== Скачайте архив со скриптами для прошивки [[https://doc.inmys.ru/open?hash=491e2d83da0dcea7b8ebbb824efd6ccb&fn=burn_5.10.tar.gz|burn.tar.gz]] - Перейти в каталог burn cd burn - Создать временный каталог для монтирования карты памяти mkdir /mnt/d4 - Скопируйте файл buildroot/output/rockchip_rk356x_inmys/images/rootfs.ext2 в каталог burn/rootfs.ext2 - Скопируйте файл kernel/arch/arm64/boot/Image burn/pboot/Image - kernel/arch/aarch64/boot/dts/rockchip/rk3568-inmys-smarc-evm.dtb burn/pboot/rk3568-inmys-smarc-evm.dtb - Выполните команду: cp burn/pboot/rk3568-inmys-smarc-evm.dtb burn/pboot/rk-kernel.dtb - Выполните команду sudo ./burn_sd.sh /dev/sdX __**ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ**__ ===== Проверка ===== Для проверки установки видео-драйверов, выполните следующие команды: uname -a gst-inspect-1.0 | grep mpph Корректный результат: # uname -a Linux rk3568 5.10.160 #7 SMP Tue Jan 30 14:22:12 UTC 2024 aarch64 GNU/Linux # gst-inspect-1.0 | grep mpph rockchipmpp: mpph264enc: Rockchip Mpp H264 Encoder rockchipmpp: mpph265enc: Rockchip Mpp H265 Encoder Для записи видео, рекомендуется увеличить чувствительность камеры (для проверки используется imx219): v4l2-ctl -c gain=2000 Запись в файл output.mp4: gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! mpph264enc ! h264parse ! qtmux ! filesink location=output.mp4