INMYS WIKI

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

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

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


boards:nms-sm-rk3568:firmware

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
boards:nms-sm-rk3568:firmware [2022/10/03 13:06] Владимир Андреевboards: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 ===== ===== Сборка 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://docs.docker.com/engine/install/|Docker окружение]] 
 +Также нужно скачать файлы с яндекс-диска https://disk.yandex.ru/d/hj82_DRB03U-5A
  
-=== 1 способ === 
-Необходимо скачать [[https://disk.yandex.ru/d/hj82_DRB03U-5A|яндекс-диска]] Dockerfile и собрать образ контейнера следующей командой: <code>sudo docker build -t rk3568 .</code>На выходе будет образ **rk3568**, которым можно собирать все компоненты системы. 
  
-==== Сборка rootfs ==== +==== Подготовка окружения ==== 
-Чтобы собрать rootfs, нужно:+  - Необходимо скачать с [[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.   - Cоздать рабочую директорию и скачать файлы с яндекс диска: app.tar.gz, buildroot.tar.gz, burn.tar.gz, external.tar.gz, kernel.tar.gz.
   - Распаковать все архивы <code>tar -xf app.tar.gz   - Распаковать все архивы <code>tar -xf app.tar.gz
Строка 21: Строка 21:
 tar -xf external.tar.gz tar -xf external.tar.gz
 tar -xf kernel.tar.gz tar -xf kernel.tar.gz
-</code> 
-  -  Выполнить команду конфигурирования сборки <code>sudo docker run  -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make  rockchip_rk356x_inmys_defconfig -C buildroot 
 </code> </code>
  
-  -  Выполнить команду сборки <code>sudo docker run  -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make -C buildroot</code> (Сборка может длится до часа, в зависимости от конфигурации компьютера). ** Если возникла ошибка, связанная с host-gcc-final-ХХХ, то повторить команду сборки **+ 
 +==== Сборка 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.   - Результаты будут лежать в папке 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 карты ===== ===== Прошивка SD карты =====
   - Перейти в каталог burn <code>cd burn</code>   - Перейти в каталог burn <code>cd burn</code>
-  - Создать временный каталог <code>mkdir /mnt/d4</code>+  - Создать временный каталог для монтирования карты памяти <code>mkdir /mnt/d4</code>
   - Для прошивки карты памяти, необходимо скопировать файл buildroot/output/images/rootfs.ext2 в каталог burn/rootfs.ext2 и выполнить команду <code>sudo ./burn_sd.sh /dev/sdX</code> __**ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ**__   - Для прошивки карты памяти, необходимо скопировать файл buildroot/output/images/rootfs.ext2 в каталог burn/rootfs.ext2 и выполнить команду <code>sudo ./burn_sd.sh /dev/sdX</code> __**ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ**__
  
boards/nms-sm-rk3568/firmware.1664802393.txt.gz · Последнее изменение: 2022/10/03 13:06 — Владимир Андреев