tag 标签: buildroot

相关帖子
相关博文
  • 2025-5-10 14:47
    235 次阅读|
    0 个评论
    本文基于触觉智能RK3506星闪开发板Buildroot系统进行演示,配套RK3506核心板(3核A7+M0多核异构) ~ Buildroot SDK安装与环境搭建 SDK安装 网盘下载路径:Linux4.软件资料QT-SDK/Buildroot 资料链接请进入触觉智能官网,或联系客服13423856106获取。 注意: 1. QT-SDK采用交叉编译,所以要在X86_64电脑上使用SDK,不要将 SDK 下载到板子上。 2. 编译环境请使用 Ubuntu22.04(真机或docker容器),如果使用其他版本可能导致编译出错。 3. 不要在虚拟机共享文件夹以及非英文目录存放、解压QT-SDK。 下载SDK后,首先校验MD5值,命令如下: $ md5sum arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz 解压QT-SDK,命令如下: $ tar -xvf arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz -C ./ 交叉编译环境搭建 进入qt sdk目录下,执行install_sdk.sh脚本,进行安装和搭建交叉编译环境,具体如下: $ cd ./arm-buildroot-linux-gnueabihf_sdk-buildroot $ ./relocate-sdk.sh 搭建环境后,查看qmake版本和交叉编译工具链版本: $ ./bin/arm-buildroot-linux-gnueabihf-gcc -v 使用内建 specs。 COLLECT_GCC=/mnt//rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/images/tmp/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc.br_real COLLECT_LTO_WRAPPER =/ mnt /rk3506/ rk3506_linux - 250211 /rk3506_linux6.1/ buildroot /output/ rockchip_rk3506 - emmc /images/ tmp /arm-buildroot-linux-gnueabihf_sdk-buildroot/ bin /../ libexec /gcc/ arm - buildroot - linux - gnueabihf /12.4.0/ lto - wrapper 目标:arm-buildroot-linux-gnueabihf 配置为:./configure --prefix=/mnt/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/host --sysconfdir=/mnt/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/host/etc --enable-static --target=arm-buildroot-linux-gnueabihf --with-sysroot=/mnt/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/host/arm-buildroot-linux-gnueabihf/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --enable-plugins --enable-lto --with-gmp=/mnt/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/host --with-mpc=/mnt/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/host --with-mpfr=/mnt/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/host --with-pkgversion= 'Buildroot -g0b15601a4-dirty' -- with -bugurl=https://gitlab.com/buildroot.org/buildroot/-/issues --without-zstd --disable-libquadmath --disable-libquadmath-support --enable-tls --enable-threads --without-isl --without-cloog -- with -abi=aapcs-linux -- with -cpu=cortex-a7 -- with -fpu=neon-vfpv4 --with-float=hard --with-mode=arm --enable-languages=c,c++ --with-build-time-tools=/mnt/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/host/arm-buildroot-linux-gnueabihf/bin --enable-shared --disable-libgomp 线程模型:posix Supported LTO compression algorithms: zlib gcc 版本 12 . 4 . 0 (Buildroot -g 0b15601a4 -dirty) $ ./bin/qmake -v QMake version 3 . 1 Using Qt version 5.15 . 11 in /mnt/ rk3506 /rk3506_linux-250211/ rk3506_linux6. 1 /buildroot/ output /rockchip_rk3506-emmc/ images /tmp/ arm - buildroot - linux - gnueabihf /sysroot/ usr / lib 注意:根据安装路径的不同,导致qmake和arm-none-linux-gnueabihf-gcc的路径也是不同的。 Qt交叉编译 Qt源码demo 将Qt demo 解压到当前路径下,命令如下: $ mkdir -p ./qt-demo tar -xvf moveblocks.tar.gz -C ./qt-demo $ cd qt-demo $ ls main .cpp moveblocks .pro 交叉编译 命令如下: $ /home/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506-emmc/images/tmp/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/qmake ./ $ make $ make install $ ls main .cpp Makefile moveblocks moveblocks .pro 由此可见编译后生成moveblocks可执行程序,可以通过ssh等方式将可执行程序传到开发板中运行。 Qt验证 将demo传到开发板上,命令如下: $ adb push Z:\moveblocks /tmp 运行demo,命令如下: $ chmod a+x /tmp/moveblocks $ /tmp/moveblocks 结果展示:
  • 热度 9
    2023-10-8 09:59
    2041 次阅读|
    0 个评论
    1. Buildroot 手动编译 1.1 Buildroot 查询帮助 查看buildroot的详细编译命令,如下所示。 图 1.1 编译文件系统 以上命令为,配置buildroot对应的默认配置defconfig,然后编译。注:buildroot编译只需留在SDK根目录下,不需要进入到buildroot文件夹内。 1.2 Buildroot 默认配置 对应平台的默认配置文件由 ./build.shlunch 操作中选择的 mk 文件决定,如下所示。 图 1.2 选择 SDK 配置文件 配置完后,直接查看 device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk 文件,由 RK_CFG_BUILDROOT 决定,如下所示。 图 1.3 配置文件 rootfs 部分内容 1.3 Buildroot 修改配置 首先导入上面指定的默认配置,操作命令如下: sourceenvsetup.shrockchip_rk3568 进入 menuconfig 修改 buildroot 配置,命令如下所示。 cdbuildroot makemenuconfig 进入配置界面如下所示。 图 1.4 进入 buildroot 配置界面 输入“ / ”可以进入 menuconfig 的搜索功能,如下所示。 图 1.5 查找 buildroot 配置 搜索功能可在复制的配置路径中快速寻找到所需的目标配置,例如输入“ dhcp ”查看该选项的描述,如下所示。 图 1.6 目标配置帮助 例如选项名为 BR2_PACKAGE_DHCP ,在 menuconfig 的名称由 Prompt 指定,选项配置的路径由 Location 指定,选项的依赖关系由 Dependson 指定。 使用空格键可以修改配置,按 ESC 键可以退出 menuconfig 。 1.4 Buildroot 保存默认配置 在修改默认配置前,备份一下旧的配置。 cpconfigs/rockchip_rk3568_defconfigconfigs/rockchip_rk3568_defconfig_bak cpconfigs/rockchip_rk356x_recovery_defconfigconfigs/rockchip_rk356x_recovery_defconfig_bak 输入以下命令可覆盖默认配置。 makesavedefconfig 1.5 Buildroot 修改 busybox 配置 如需要修改 busybox 配置,如添加 depmod ,可以在 buildroot 目录下使用如下命令进入配置。 makebusybox-menuconfig 图 1.7 进入 busybox 配置界面 按 y 勾选后,按 Esc 保存退出。 图 1.8 保存配置 备份以及更新原先的 busybox.config 。 cpboard/rockchip/common/base/busybox.configboard/rockchip/common/base/busybox.config.bak cpoutput/build/busybox-1.27.2/.configboard/rockchip/common/base/busybox.config 重新编译busybox: makebusybox-rebuild 1.6 Buildroot 编译固件 在修改完配置后,在 SDK 根目录下输入 ./build.shrootfs 命令重新编译即可。 /work/bsp/rk356x$./build.shrootfs 编译成功后可在rockdev目录下看到新的rootfs.img。
相关资源