Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| 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:// | ||
| + | |||