Подготовка программной части для модуля NMS-SM-RK3568, Kernel 4.19

Сборка Linux при помощи Buildroot и Docker

Репозиторий с актуальными DTS: https://github.com/inmys/buildroot-external-inmys/tree/nms-sm-rk3568-4.19

Для выполнение следующей инструкции, на компьютере должно быть установлено Docker окружение Также нужно скачать файлы с яндекс-диска https://disk.yandex.ru/d/hj82_DRB03U-5A

Подготовка окружения

Необходимо скачать с яндекс-диска Dockerfile и собрать образ контейнера следующей командой:

sudo docker build -t rk3568 .

На выходе будет образ 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>

Выполнить команду сборки

sudo docker run -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t rk3568 make -C buildroot

Сборка может длится до часа, в зависимости от конфигурации компьютера, если возникла ошибка, связанная с host-gcc-final-ХХХ, то повторить команду сборки.

Результаты будут лежать в папке buildroot/output/images.

Сборка kernel

Выполнить команду сборки

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

Результаты будут лежать в папке kernel/arch/arm64/boot/Image. Для замены на флешке, их необходимо скопировать в /boot/Image флешки

Сборка dtb

Выполнить команду сборки

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

Результат будет лежать в папке kernel5/arch/arm64/boot/dts/rockchip/rk3568-inmys-smarc-evm.dtb. Для замены файла на флешке, его необходимо скопировать в /boot/rk3568-inmys-smarc-evm.dtb

Прошивка SD карты

Перейти в каталог burn

cd burn

Создать временный каталог для монтирования карты памяти

mkdir /mnt/d4

Для прошивки карты памяти, необходимо скопировать файл buildroot/output/images/rootfs.ext2 в каталог burn/rootfs.ext2 и выполнить команду

sudo ./burn_sd.sh /dev/sdX

ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ