文章

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