rk3568搭建buildroot文件系统

1. 编译
1.1 交叉编译环境
rk3568其交叉编译工具位于buildroot/output/rockchip_rk3368/host/usr 目录下,需要将工具的bin/目录aarch64-buildroot-linux-gnu/bin/ 目录设为环境变量。
执行source envsetup.sh选择目标版本,针对芯片为rk3568来说选择63。编译脚本是sdk目录下的build.sh
查看交叉编译工具版本:

cd buildroot/output/rockchip_rk3568/host/usr/bin
./aarch64-linux-gcc --version

1.1.1 配置文件说明
打包文件package-file,目录在tools/linux/Linux_Pack_Firmware/rockdev
编译配置文件BoardConfig.mk,目录在device/rockchip/rk356x
镜像生成路径在sdk目录下rockdev目录
打包成update.img,需在sdk目录下执行./build.sh updateimg
1.2文件系统编译
以buildroot为例,在buildroot同级目录下执行./build.sh rootfs命令进行整体编译文件系统,编译完成之后会在buildroot/output/rockchip_rk3568/images下生成所需的文件系统,例如rootfs.ext4 rootfs.squashfs等。
2. 文件系统制作
2.1 QT移植与文件系统
在sdk的buildroot/configs 目录下,sdk 所 支 持 平 台 相关的 配 置 文 件rockchip_rk3568_defconfig 或者在 buildroot/configs/rockchip 目录下有 qt 所支持的相关配置 display.confqt.conf
(1)在buildroot/output/rockchip_rk3568进行配置,通过make menuconfig来进行对应需求配置,或者先使用上述./build.sh rootfs命令编译完看缺少哪些东西再进行配置。
在这里插入图片描述
配置界面主要选项:
Target options选项:执行source envsetup.sh选择对应版本后系统会自己填写cpu相关的参数信息。
Toolchain选项:buildroot所支持的工具链。
System configuration选项:系统欢迎语,包括密码设置,时区设置等
Target packages选项:第三方的开源工具的软件,例如字体库,qt图形界面所需要的,如果需要把工具软件集成到固件,需要在此选项中进行配置。
Filesystem images选项:选择生成文件系统镜像的格式,例如ext4,squashfs,jffs2
(2)直接添加配置宏选项,在buildroot/output/rockchip_rk3568目录下.conf或者rk3568所支持的rockchip_rk3568_defconfig在文件中直接添加即可,最后执行编译文件系统命令。
2.1.1 qt编译支持方式
对于qt支持有两种方式,第一种根据sdk来配置相关qt所支持的库,第二种根据qt源码编译出qt所支持的库,在这里建议使用第一种方式。

在这里插入图片描述

上述图片是qt5.9版本的配置界面,需要哪种配置选中即可,之后在buildroot同级目录下编译即可。

插件支持:qt系统所支持的插件有eglfs,xcb,linuxfb,wayland等,根据项目所需要显示支持的插件选择,需注意eglfs和xcb是基于x11系统框架的,需要在图形界面中 Target packages → Rockchip BSP packages下面有显示platform支持,默认为Wayland,如需要eglfs显示支持需要改成x11支持。
(2)qt版本的变更,如果目前使用的版本为qt5.9需要变更为其他qt版本等相关配置时,需要修改qt相关的配置文件,在buildroot/package/qt5/qt5.mk中修改,修改完成后需要重新清掉之前qt版本编译的东西避免再次编译出错。
2.1.2 qt5环境变量声明
在qt所支持的图形界面中采用tslib校准方式来校准。tslib相关宏支持,可在配置文件中添加,或者通过make menuconfig图形界面来配置,相关宏选项如下所示:

BR2_PACKAGE_QT5BASE_TSLIB=y  
BR2_PACKAGE_TSLIB=y

tslib相关命令介绍:
ts_calibrate:进行5点校准。
ts_test:进行画线测试。
对于tslib相关的东西移植进系统后和qt配合,需要声明环境变量,相关配置如下:

/* 开启qt程序debug */
export QT_DEBUG_PLUGINS=1
export QT_LOGGING_RULES=qt.qpa.input=true
/*tslib需要的配置*/
export DISPLAY=:0
export TSLIB_TSDEVICE=/dev/input/event2      /*event2为触摸节点*/
export TSLIB_CALIBFILE=/etc/pointercal             
export TSLIB_CONFFILE=/etc/ts.conf               
export LD_LIBRARY_PATH=/usr/lib
export TSLIB_PLUGINDIR=/usr/lib/ts/                 
export TSLIB_CONSOLEDEVICE=none                 
export TSLIB_FBDEVICE=/dev/fb0      
export QT_QPA_FB_NO_LIBINPUT=1
export QT_QPA_FB_TSLIB=1          
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event2   
/*qt运行程序需要的配置*/
export QT_QPA_PLATFORM_PLUGIN_PATH=$LD_LIBRARY_PATH/qt/plugins/platforms
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1024x768:offset=0x0
export QT_PLUGIN_PATH=$LD_LIBRARY_PATH/qt/plugins
export QT_QPA_FONTDIR=/etc/fonts
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event2:rotate=0
  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值