INMYS WIKI

Инженерами для инженеров

Инструменты пользователя

Инструменты сайта


boards:nms-sm-rk3568:firmware

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
boards:nms-sm-rk3568:firmware [2024/01/29 11:07] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1boards:nms-sm-rk3568:firmware [2024/09/20 15:33] (текущий) – [Сборка Linux при помощи Buildroot и Docker] Артем Слепов
Строка 1: Строка 1:
 +{{indexmenu_n>419}}
 +
 +===== Подготовка программной части для модуля NMS-SM-RK3568, Kernel 4.19 =====
 +===== Сборка Linux при помощи Buildroot и Docker =====
 +<note important>
 +Репозиторий с актуальными DTS: https://github.com/inmys/buildroot-external-inmys/tree/nms-sm-rk3568-4.19
 +</note>
 +
 +
 +
 +Для выполнение следующей инструкции, на компьютере должно быть установлено [[https://docs.docker.com/engine/install/|Docker окружение]]
 +Также нужно скачать файлы с яндекс-диска https://disk.yandex.ru/d/hj82_DRB03U-5A
 +
 +
 +==== Подготовка окружения ====
 +  - Необходимо скачать с [[https://disk.yandex.ru/d/hj82_DRB03U-5A|яндекс-диска]] Dockerfile и собрать образ контейнера следующей командой: <code>sudo docker build -t rk3568 .</code>На выходе будет образ **rk3568**, которым можно собирать все компоненты системы.
 +  - Cоздать рабочую директорию и скачать файлы с яндекс диска: app.tar.gz, buildroot.tar.gz, burn.tar.gz, external.tar.gz, kernel.tar.gz.
 +  - Распаковать все архивы <code>tar -xf app.tar.gz
 +tar -xf buildroot.tar.gz
 +tar -xf burn.tar.gz
 +tar -xf external.tar.gz
 +tar -xf kernel.tar.gz
 +</code>
 +
 +
 +==== Сборка rootfs ====
 +  - Выполнить команду конфигурирования сборки <code>sudo docker run  -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make  rockchip_rk356x_inmys_defconfig -C buildroot
 +</code>
 +  - Выполнить команду сборки <code>sudo docker run  -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make -C buildroot</code> Сборка может длится до часа, в зависимости от конфигурации компьютера, если возникла ошибка, связанная с host-gcc-final-ХХХ, то повторить команду сборки.
 +  - Результаты будут лежать в папке buildroot/output/images.
 +
 +
 +==== Сборка kernel ====
 +  - Выполнить команду сборки <code>sudo docker run  -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/host/bin/aarch64-buildroot-linux-gnu- Image -C kernel</code>
 +  - Результаты будут лежать в папке kernel/arch/arm64/boot/Image. Для замены на флешке, их необходимо скопировать в /boot/Image флешки
 +
 +
 +==== Сборка dtb ====
 +  - Выполнить команду сборки <code>sudo docker run  -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/host/bin/aarch64-buildroot-linux-gnu- rockchip/rk3568-inmys-smarc-evm.dtb -C kernel</code>
 +  - Результат будет лежать в папке kernel5/arch/arm64/boot/dts/rockchip/rk3568-inmys-smarc-evm.dtb. Для замены файла на флешке, его необходимо скопировать в /boot/rk3568-inmys-smarc-evm.dtb
 +
 +
 +===== Прошивка SD карты =====
 +  - Перейти в каталог burn <code>cd burn</code>
 +  - Создать временный каталог для монтирования карты памяти <code>mkdir /mnt/d4</code>
 +  - Для прошивки карты памяти, необходимо скопировать файл buildroot/output/images/rootfs.ext2 в каталог burn/rootfs.ext2 и выполнить команду <code>sudo ./burn_sd.sh /dev/sdX</code> __**ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ**__