给busybox增加QT功能

准备工作:
材料:
- 泰山派开发板
- QT5.15.2源码下载网址:Index of /archive/qt/5.15/5.15.2/single
准备材料




首先新建一个文件夹,把QT源码包和触摸源码包已经字库文件包放进去。(以QT5.15.2为例)
解压包





用 tar -vxf 命令把qt和触摸两个包都解压,用unzip命令解压字库包。
编译tslib








先cd到刚解压出来的tslib文件夹。
1.设置环境(临时的方法),注意这里需要你设置自己的路径。
export PATH=/home/name/tspi/linux/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH
2.编译触摸
如果失败,需要安装:sudo apt-get install autoconf automake libtool
./configure CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ --host=aarch64-linux-gnu --prefix=/home/wht/tspi/qt/tslib1.4 ac_cv_func_malloc_0_nonnull=yes
注意把上面命令里的/home/wht/tspi/work/qt/tslib1.4改成你自己的路径
make
make install
3.修改生成的tslib1.4下的 etc/ts.conf文件 (这个文件里边的每条语句最前边不能有空格)
取消注释 module_raw input 这条语句,保存退出。
编译QT




先cd到刚解压的QT包,
1.同样需要设置变量和tslib保持一致
2.修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 文件
vim qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
修改为:
保存退出。
3.创建 autoconfigure.sh 脚本文件写入:
注意第4行、倒数第3-4行修改为你的路径!
第4行的qt5.15.2为你make install后生成的包。
倒数第3-4行是你需要用到的触摸源码的路径。
用命令 chmod 777 autoconfigure.sh 修改权限
保存退出。
4.执行脚本(脚本运行时间有点长,和自己电脑配置有关)
5. make 编译
6.make install 安装
整合




将编译好的qt源码和触摸源码以及字库源码fonts整合到busybox系统中
1.拷贝qt源码和触摸源码以及字库源码fonts复制到busybox源码中
进入到sys/opt中,
cp /home/wht/tspi/qt/qt5.15.2/ . -rf
cp /home/wht/tspi/qt/tslib1.4/ . -rf
进入到sys/opt/qt5.15.2/lib下
cp /home/wht/tspi/work/qt/fonts.zip . (路径和下面profile文件中的export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts有关系)
然后用 unzip fonts.zip 命令解压,最后rm 删除原压缩包
2.修改 sys下的 etc/profile 文件
在文件末尾添加以下内容:
保存退出。
3.复制触摸测试程序到sys下
cp /home/wht/tspi/work/qt/qt5.15.2/examples/widgets/touch/fingerpaint/fingerpaint .
打包




在sys的上一级目录下打包文件系统
1.建立镜像,设置大小为700M, 使用命令如下:
dd if=/dev/zero of=rootfs.ext4 bs=1M count=700
mkfs.ext4 -L rootfs rootfs.ext4
2.使用 mount 命令将 rootfs.ext4 挂载到 rootfs 目录下
sudo mount ./rootfs.ext4 rootfs
3.拷贝我们制作的文件系统拷贝到 rootfs 目录下
sudo cp -r ./sys/* ./rootfs
完成后解除挂载:
sudo umount rootfs
4.复制 rootfs.ext4 成 rootfs.img 文件
cp rootfs.ext4 rootfs.img
上机测试




将制作好的rootfs.img烧录到泰山派开发板,用串口工具加载qt测试文件fingerpaint.











