buguai 发表于 2019-8-21 16:41:40

iMX6UL开发板Linux-QtE5.7系统移植方法

迅为iMX6UL-QtE5.7系统移植
如何移植高版本的 Qt5.7 到 迅为iTOP-iMX6UL 开发板,注意:需要先学习前面编译烧写等基础知识。
对于 QtE5.7 的移植,本节中提供了对应的编译环境,用户如果是第一次移植,建议使用我们提供的版本。
需要使用的大部分重要的软件、工具以及源码在网盘“iTOP-iMX6UL 开发板资料汇总\04_iTOP-iMX6UL 开发板 QtE 和 Qtopia 系统源码以及镜像\05_QtE5.7 镜像和源码以及编译器”目录下“iTOP-iMX6-QtE5.7 移植”压缩包中可以找到。
1.1 基础软件的下载
移植 QtE5.7 需要 Ubuntu16.04 环境,arm 编译器需要使用“arm-2014.05-29”,触摸tslib 需要使用 1.4 版本,QtE 的源码为 QtE5.7.0。
下面是具体的下载链接和详细的版本信息。
环境:ubuntu16.04(Qt5.7creater 需要在 16.04 版本上运行)
下载链接:http://cn.ubuntu.com/download/
编译器:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
下载链接:http://www.veryarm.com/arm-none-linux-gnueabi-gcc
触摸工具:tslib-1.4.tar.gz
下载链接:http://vdisk.weibo.com/s/AcUHxOERV2k0?sudaref=www.baidu.com
Qt 源码:qt-everywhere-opensource-src-5.7.0.tar.gz
下载链接:http://download.qt.io/official_releases/qt/5.7/5.7.0/
2.2 搭建环境
2.2.1 安装基本工具 vim 和 ssh
本节介绍在 Ubuntu16.0.4 系统上安装基础软件 vim 和 ssh。
使用命令“apt-get install vim ssh”
使用 ssh 的时候,会遇到 ssh 连接失败的问题。
解决办法:
先使用命令“/etc/init.d/ssh restart”启动 ssh 服务,然后使用命令“vim
/etc/ssh/sshd_config”打开配置文件。
在配置文件中添加:





找到下面这段代码,修改如下





之后再重启 service ssh restart 。
2.2.2 安装编译器
将编译器拷贝到“/usr/local/arm”目录下,并解压。
修改环境变量“vim /etc/profile ”并使用 source 命令更新环境变量,如下图。





arm+tab 键,确定可以显示 arm-none-linux-gnueabi-
输入 arm-none-linux-gnueabi-gcc -v 显示 gcc version 4.8.3 20140320
(prerelease) (Sourcery CodeBench Lite 2014.05-29),那就没问题了。如果提示 no such 等,要 sudo apt-get install lib32z1 lib32ncurses5。
2.3 编译 tslib
解压源码 tslib-1.4.tar.gz





安装完之后执行





vim /opt/tslib1.4/etc/ts.conf 修改第二行如下






2.4 编译 Qt5.7 的源码
使用“tar -vxf qt-everywhere-opensource-src-5.7.0”命令解压 Qt5.7 源码,并进入解压生成的“qt-everywhere-opensource-src-5.7.0”目录。
在“qt-everywhere-opensource-src-5.7.0”目录下,使用“ vi
qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf ”命令,打开 qmake.conf 文件
并修改为如下所示内容。





如下图。






使用“vi autoconfigure.sh”命令,新建“autoconfigure.sh”脚本。脚本内容如下所示。









保存,退出。
使用“chmod 777 autoconfigure.sh ”命令修改“autoconfigure.sh”文件权限。
然后使用“./autoconfigure.sh”命令运行该脚本。
运行完成后,在当前目录下,继续使用“make”命令进行编译。make 运行结束后,执行“make install”命令。
完成后,可以在/opt 目录下可以查看到生成的“qt5.7.0”文件(接下来要用到)。
2.5 生成 system.img
使用提供好的根文件系统(“iMX6 最小系统”),将前两节生成的“qt5.7.0”
“tslib1.4”拷贝到“opt”目录下如下图。






解压“fonts.zip”,将解压生成的将字库文件夹“fonts”拷贝到“opt/qt5.7.0/lib/”下。
同时将“libstdc.tar.gz”拷贝到“opt/qt5.7.0/lib/”目录下解压,并输入命令:





修改环境变量“vim etc/profile”如下图。







修改开机启动脚本“vi etc/init.d/rcS”,最后加一行“/bin/qt5.7 &”。
将迅为提供的“qt5.7”文件拷贝到“bin”下。
然后使用压缩命令将文件系统打包






使用命令“ls”,如下图所示,可以看到“rootfs.tar.bz2”压缩包,这个就是制作好的系统镜像。






把我们制作的“rootfs.tar.bz2”烧写到 iTOP-iMX6UL 开发板上,烧写的方式和 Linux QT 文件系统的烧写一样。
使用迅为提供的“hello”测试程序进行测试,成功。
2.6 安装 qtcreater 编译测试程序 hello
将“qt-opensource-linux-x64-5.7.0.run”拷贝到 ubuntu16.04 任意文件夹下, “chmod 777 qt-opensource-linux-x64-5.7.0.run”,之后直接“./qt-opensource
linux-x64-5.7.0.run”执行,安装一直点下一步就 OK!
然后就可以通过 qtcreater 编译 hello 测试程序了,编译方法和 QtE4.7.1 版本的类似。

liang16888 发表于 2019-8-22 10:30:53

就我所知QT5 己到5.13 大大是否有试过最新版的
QT移植到iMX6??

buguai 发表于 2019-8-30 15:46:30

liang16888 发表于 2019-8-22 10:30
就我所知QT5 己到5.13 大大是否有试过最新版的
QT移植到iMX6??

现在是用的qt5.7,还没有试过更高版本
页: [1]
查看完整版本: iMX6UL开发板Linux-QtE5.7系统移植方法