Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
boards:nms-sm-rk3568:firmware_opensource:start [2024/10/29 07:56] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | boards:nms-sm-rk3568:firmware_opensource:start [2024/10/29 07:56] (текущий) – ↷ Страница перемещена и переименована из boards:nms-sm-rk3568:firmware_opensource в boards:nms-sm-rk3568:firmware_opensource:start Семёнов Алексей | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | {{indexmenu_n> | ||
+ | ===== Подготовка программной части для модуля NMS-SM-RK3568 без блобов (opensource), | ||
+ | Собирать можно либо в ubuntu(20.04/ | ||
+ | |||
+ | ===== Сборка в Ubuntu 20.04/22.04 ===== | ||
+ | ==== Подготовка ==== | ||
+ | < | ||
+ | wget https:// | ||
+ | git clone -b nms-sm-rk3568 https:// | ||
+ | tar -xf buildroot-2023.11.1.tar.gz | ||
+ | make BR2_EXTERNAL=$PWD/ | ||
+ | </ | ||
+ | ==== Сборка ==== | ||
+ | < | ||
+ | cd output | ||
+ | make | ||
+ | # ждём несколько часов | ||
+ | </ | ||
+ | Если в процессе сборки, | ||
+ | |||
+ | Результат: | ||
+ | < | ||
+ | output/ | ||
+ | output/ | ||
+ | rootfs.cpio.gz | ||
+ | rootfs.ext2.gz | ||
+ | </ | ||
+ | ==== Изменение и пересборка rootfs ==== | ||
+ | < | ||
+ | make menuconfig | ||
+ | make | ||
+ | </ | ||
+ | ==== Пересборка kernel (Image/dtb) ==== | ||
+ | < | ||
+ | make linux-rebuild | ||
+ | </ | ||
+ | ==== Подготовить toolchain c помощью которого можно кросскомпилировать программы (например Qt) ==== | ||
+ | < | ||
+ | make sdk | ||
+ | </ | ||
+ | Результат: | ||
+ | < | ||
+ | output/ | ||
+ | </ | ||
+ | |||
+ | ===== Сборка в Docker ===== | ||
+ | Для выполнения следующей инструкции, | ||
+ | ==== Подготовка ==== | ||
+ | |||
+ | < | ||
+ | wget https:// | ||
+ | git clone -b nms-sm-rk3568 https:// | ||
+ | tar -xf buildroot-2023.11.1.tar.gz | ||
+ | # build docker image with name " | ||
+ | docker build -t buildroot-2023.11.1 buildroot-2023.11.1/ | ||
+ | # initial config rootfs | ||
+ | docker run --mount type=bind, | ||
+ | </ | ||
+ | ==== Сборка ==== | ||
+ | < | ||
+ | cd output | ||
+ | docker run --mount type=bind, | ||
+ | # ждём несколько часов | ||
+ | </ | ||
+ | Результат: | ||
+ | < | ||
+ | output/ | ||
+ | output/ | ||
+ | rootfs.cpio.gz | ||
+ | rootfs.ext2.gz | ||
+ | </ | ||
+ | ==== Изменение и пересборка rootfs ==== | ||
+ | < | ||
+ | docker run --mount type=bind, | ||
+ | docker run --mount type=bind, | ||
+ | </ | ||
+ | ==== Пересборка kernel (Image/dtb) ==== | ||
+ | < | ||
+ | docker run --mount type=bind, | ||
+ | </ | ||
+ | ==== Подготовить toolchain c помощью которого можно кросскомпилировать программы (например Qt) ==== | ||
+ | < | ||
+ | docker run --mount type=bind, | ||
+ | </ | ||
+ | Результат: | ||
+ | < | ||
+ | output/ | ||
+ | </ | ||
+ | |||
+ | ===== Дополнительно ===== | ||
+ | ==== Создание загрузочной SD карты ==== | ||
+ | Скачать {{ : | ||
+ | < | ||
+ | tar -xf burn.tar.gz | ||
+ | </ | ||
+ | скопировать в burn файлы: Image rk3568-inmys-smarc-evm.dtb rootfs.cpio.gz | ||
+ | < | ||
+ | sudo ./ | ||
+ | </ | ||
+ | ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ | ||
+ | |||
+ | ==== Консольный uart ==== | ||
+ | Консольный uart конфигугрируется на скорости 1500000. | ||
+ | |||
+ | ==== Использование toolchain для кросс-компиляции ==== | ||
+ | Для кросс-компиляции нужен компьютер x86_64(amd64) с установленным linux, подойдут: | ||
+ | < | ||
+ | tar -xf aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz | ||
+ | cd aarch64-buildroot-linux-gnu_sdk-buildroot/ | ||
+ | ./ | ||
+ | </ | ||
+ | Теперь: | ||
+ | * aarch64-buildroot-linux-gnu_sdk-buildroot/ | ||
+ | * aarch64-buildroot-linux-gnu_sdk-buildroot/ | ||
+ | о том как настроить qt creator для кросс-компиляции написано здесь (host.tar.gz == aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz) https:// | ||
+ | |||
+ | Уже собранный aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz : https:// | ||
+ | |||