IMX6ULL buildroot搭建QT
开发板imx6ull,buildroot2024.02.01搭建Qt根文件系统记录。
下载buildroot
去buildroot的官网下载页面进行源码下载:
下载好放在ubuntu中解压,得到buildroot文件夹,cd进入文件夹内,查看文件如下图:
配置并编译buildroot
在此之前已经安装好了交叉编译器,我的交叉编译器为linaro-7.5.0,运行以下命令进行配置:
make menuconfig
进入配置页面,进行如下设置:
执行make命令进行进行编译:
make
根文件处理
编译好后的根文件在buildroot/output/images目录下。
创建一个将其解压:
tar -xvf rootfs.tar
将其他与根文件不相关的文件删除,例如解压前的rootfs.tar文件:
进入bin文件夹执行以下命令防止开机后出现mount: you must be root. can‘t open /dev/console: Permission denied
问题:
sudo chown root * -R
进入etc文件夹编辑profile文件,在末尾加入以下环境变量,其中event0根据自己实际情况来改,我这里是0:
export QT_QPA_FB_TSLIB=1
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export QT_ROOT=/usr/lib/qt
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0
#export QT_QPA_FONTDIR=/usr/share/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QML2_IMPORT_PATH=$QT_ROOT/qml
打包根文件:
tar -vcjf ../rootfs.tar.bz2 *
烧写测试
在此之前保证内核与设备树文件已经正确移植,屏幕与触屏驱动都没问题,将打包好的根文件系统烧写到开发板中,执行以下命令:
/usr/lib/qt/examples/widgets/animation/animatedtiles/animatedtiles
检查屏幕与触屏均正常。
License:
CC BY 4.0