Собирать можно либо в ubuntu(20.04/22.04) либо в docker.
wget https://buildroot.org/downloads/buildroot-2023.11.1.tar.gz git clone -b nms-sm-rk3568 https://github.com/inmys/buildroot-external-inmys tar -xf buildroot-2023.11.1.tar.gz make BR2_EXTERNAL=$PWD/buildroot-external-inmys -C buildroot-2023.11.1 O=$PWD/output br_defconfig
cd output make # ждём несколько часов
Если в процессе сборки, лог завис на этапе скачивания qemu, то нужно самостоятельно скачать QEMU и положить в папку buildroot-2023.02.1/dl
Результат:
output/images/Image output/images/rk3568-inmys-smarc-evm.dtb rootfs.cpio.gz rootfs.ext2.gz
make menuconfig make
make linux-rebuild
make sdk
Результат:
output/images/aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz
Для выполнения следующей инструкции, на компьютере должно быть установлено Docker окружение
wget https://buildroot.org/downloads/buildroot-2023.11.1.tar.gz git clone -b nms-sm-rk3568 https://github.com/inmys/buildroot-external-inmys tar -xf buildroot-2023.11.1.tar.gz # build docker image with name "buildroot-2023.11.1" docker build -t buildroot-2023.11.1 buildroot-2023.11.1/support/docker # initial config rootfs docker run --mount type=bind,source="$(pwd)",target=/workdir --user "$(id -u):$(id -g)" -it buildroot-2023.11.1 make BR2_EXTERNAL=/workdir/buildroot-external-inmys -C /workdir/buildroot-2023.11.1 O=/workdir/output br_defconfig
cd output docker run --mount type=bind,source="$(pwd)",target=/workdir --user "$(id -u):$(id -g)" -it buildroot-2023.02.1 make -C /workdir/output # ждём несколько часов
Результат:
output/images/Image output/images/rk3568-inmys-smarc-evm.dtb rootfs.cpio.gz rootfs.ext2.gz
docker run --mount type=bind,source="$(pwd)",target=/workdir --user "$(id -u):$(id -g)" -it buildroot-2023.02.1 make -C /workdir/output menuconfig docker run --mount type=bind,source="$(pwd)",target=/workdir --user "$(id -u):$(id -g)" -it buildroot-2023.02.1 make -C /workdir/output
docker run --mount type=bind,source="$(pwd)",target=/workdir --user "$(id -u):$(id -g)" -it buildroot-2023.02.1 make -C /workdir/output linux-rebuild
docker run --mount type=bind,source="$(pwd)",target=/workdir --user "$(id -u):$(id -g)" -it buildroot-2023.02.1 make -C /workdir/output sdk
Результат:
output/images/aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz
Скачать burn.tar.xz
tar -xf burn.tar.gz
скопировать в burn файлы: Image rk3568-inmys-smarc-evm.dtb rootfs.cpio.gz
sudo ./burn_sd.sh /dev/sdX
ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ
Консольный uart конфигугрируется на скорости 1500000.
Для кросс-компиляции нужен компьютер x86_64(amd64) с установленным linux, подойдут: ubuntu,debian.
tar -xf aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz cd aarch64-buildroot-linux-gnu_sdk-buildroot/ ./relocate-sdk.sh
Теперь:
о том как настроить qt creator для кросс-компиляции написано здесь (host.tar.gz == aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz) https://wiki.inmys.ru/doku.php?id=boards:nms-hh-px30:bsp
Уже собранный aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz : https://disk.yandex.ru/d/P4YAk8zqebVlNg