[嵌入式开发板]迅为iTOP-6818 Qtopia2.2.0开发环境搭建以及编译镜像
迅为开发板
本文转自:https://www.topeetboard.com
搭建 Qtopia2.2.0 开发环境,需要先搭建 Android的编译环境,然后在 Android 编译环
境的基础上,再搭建 Qtopia2.2.0 编译环境。
如果用户是使用“搭建好的 Ubuntu 镜像”,则只需要改一下环境变量,系统里面的工具
和库文件都已经安装完毕了。
针对Qt文件系统, 迅为电子在iTOP-6818开发板上移植的是Qtopia2.2.0版本和Qte4.7.1
版本,用户在参照本章节后编译后的文件图形界面是 Qtopia2.2.0 版本。Qte4.7.1 的编译方法
则在第七章。
如果用户使用的是“搭建好的 Ubuntu 镜像”,则只需要修改一下环境变量。只需要将编
译器设置为 4.4.1 编译器,修改之后的“.bashrc”环境变量文件,如下图所示。
1 编译器和基本库文件的安装
Qtopia2.2.0 的编译器包含在网盘目录“iTOP6818 开发板资料汇总(不含光盘内容)
\04_iTOP-6818 开发板 QtE 和 Qtopia 系统源码以及镜像\03-编译器、补丁包以及其它工具
\01-编译器”文件夹的压缩包“arm-linux-4.4.1.tar.g”中。
将压缩包拷贝到 Ubuntu 系统下的”usr/local/arm”目录下,如果没有 arm 目录可以新
建一个,如下图所示。
接着将压缩包解压到 Ubuntu 系统的文件夹“usr”--“local”--“arm”下,进入
“/usr/local/arm”目录使用解压命令“tar -vxf arm-linux-4.4.1.tar.gz”解压
“arm-linux-4.4.1.tar.gz”,如下图所示。
如下图所示,解压完成,生成了文件夹“4.4.1”文件夹。
然后安装X11的SDK库, 执行命令“ apt-get install libx11-dev libxext-dev libxtst-dev” ,
如下图所示。
安装库过程提示是否要继续,如下图所示,选择“y”,继续。
如下图所示,更新完成。
接着修改环境变量,如下图所示,在 root 目录下(使用 cd 命令之后就会回到 root 目录)
使用命令“vim .bashrc”。
使用 vim 编辑器打开环境变量文件“.bashrc”后,修改 Qtopia2.2.0 编译器的路径,添加
“export PATH=$PATH:/usr/local/arm/4.4.1/bin”。在文件“.bashrc”的最后一行。然后
注释掉其它编译器,例如下图所示的 arm-2009q3 编译器。
修改完成后保存退出“.bashrc”文件。
更新一下环境变量,如下图所示,使用命令“source .bashrc ”更新环境变量。
这里测试一下编译器是否正确安装,执行下命令“arm-none-linux-gnueabi-gcc -v”,
如下图所示。
如下图所示,可以看到系统显示 arm-gcc 编译器的版本为“gcc version 4.4.1”。
注意,在前面搭建 Android 编译环境的时候,其中提到了一步操作“降低 gcc 版本”,但
是前面“gcc”是 x86 的编译器(通过命令#gcc -v 可以查看其版本)。这里用到的“gcc”编
译器是 arm 编译器,它们是两个完全不同的编译器,大家不要弄混了。
2 Qtopia2.2.0源文件和补丁文件
在 Ubuntu 环境中,“root”目录下新建文件夹“yizhi”,具体操作如下,在 Ubuntu 命
令行中,执行命令“cd /root”和“mkdir yizhi”。
这里需要注意的是,新建的文件夹一定要在这个“root”文件夹下建立,而且一定要使用
“yizhi”这个名字。
如下图所示。
接着找到网盘“iTOP6818 开发板资料汇总(不含光盘内容)\04_iTOP-6818 开发板 QtE
和 Qtopia 系统源码以及镜像\01-Qtopia2.2.0 源码”文件夹下的压缩包
“ARM-qtopia-free-src-2.2.0.tar.gz”。
将压缩包“ARM-qtopia-free-src-2.2.0.tar.gz”拷贝到前面新建的“yizhi”文件夹中,如
下图所示。
进入“yizhi”目录,使用命令“tar -vxf ARM-qtopia-free-src-2.2.0.tar.gz”解压压缩包,
如下图所示。
解压压缩包后得到源码文件“qtopia-free-src-2.2.0.tar.gz”和脚本文件“build”,如下
图所示。
用户网盘“iTOP6818 开发板资料汇总(不含光盘内容)\04_iTOP-6818 开发板 QtE 和
Qtopia 系统源码以及镜像\03-编译器、补丁包以及其它工具\02-Qtopia 补丁包”文件夹下的
压缩包“tslib.tar.gz”是触摸的库文件。
将触摸的库文件拷贝到 Ubuntu,然后到 Ubuntu 系统的“usr”--“local”文件夹下,
使用命令“tar -vxf tslib.tar.gz”解压,如下图所示。
生成的文件夹“tslib”,如下图所示。
3 库文件和编译Qtopia2.2.0
编译 Qtopia2.2.0 文件还需要一些额外的 6 个库文件,这 6 个库文件全部在用户网盘
“iTOP6818 开发板资料汇总(不含光盘内容)\04_iTOP-6818 开发板 QtE 和 Qtopia 系统源
码以及镜像\03-编译器、补丁包以及其它工具\02-Qtopia 补丁包”文件夹下。
这六个库文件分别是:libXext.so.6.4.0, libXmu.so.6.2.0, libSM.so.6.0.1, libICE.so.6.3.0,
libXt.so.6.0.0, libuuid.so.1.3.0
如下图所示。
其中的 5 个库文件,包括“libXext.so.6.4.0“、”libXmu.so.6.2.0“、 ”libSM.so.6.0.1
“、 ”libICE.so.6.3.0“、 ”libXt.so.6.0.0”,全部拷贝到 Ubuntu 系统的文件夹“usr”
--“lib32”下。
然后创建链接文件,具体操作如下,进入 Ubuntu 系统的文件夹“usr”--“lib32”下,
然后在 Ubuntu 命令行中,执行下面的命令:
ln -s libXext.so.6.4.0 libXext.so.6
创建链接文件 libXext.so.6
ln -s libXext.so.6 libXext.so
创建链接文件 libXext.so
ln -s libXmu.so.6.2.0 libXmu.so.6
创建链接文件 libXmu.so.6
ln -s libXmu.so.6 libXmu.so
创建链接文件 libXmu.so
ln -s libSM.so.6.0.1 libSM.so.6
创建链接文件 libSM.so.6
ln -s libSM.so.6 libSM.so
创建链接文件 libSM.so
ln -s libICE.so.6.3.0 libICE.so.6
创建链接文件 libICE.so.6
ln -s libICE.so.6 libICE.so
创建链接文件 libICE.so
ln -s libXt.so.6.0.0 libXt.so.6
创建链接文件 libXt.so.6
ln -s libXt.so.6 libXt.so
创建链接文件 libXt.so
如下图所示,文件拷贝完成之后,执行创建链接的命令。
拷贝剩下的文件“libuuid.so.1.3.0” 到 Ubuntu 系统的 “lib32” 文件夹下, 然后在 Ubuntu
命令行中,执行下面的命令:
ln -s libuuid.so.1.3.0 libuuid.so.1
创建链接文件 libuuid.so.1
ln -s libuuid.so.1 libuuid.so
创建链接文件 libuuid.so
如下图所示,文件拷贝完成之后,执行创建链接的命令。
库文件全部处理完成后,接着就可以编译 Qtopia2.2.0 源码了, 使用命令“ cd /root/yizhi”
进入 Qtopia2.2.0 源码文件夹。
4Qtopia系统源码编译
执行编译脚本命令“./build”,如下图所示。
编译 qtopia2.2.0 源文件是一个比较漫长的过程。
编译完成后会在 Ubuntu 系统文件夹“root”--“yizhi”下生成文件夹
“qtopia-free-2.2.0”,这个文件夹就是编译好的 Qtopia2.2.0 文件,如下图所示。
在编译好的 Qtopia2.2.0 文件夹下,我们需要接着处理一下字库文件。具体操作如下,在
Ubuntu 命令行中,执行命令“cp -r /root/yizhi/qtopia-free-2.2.0/qt2/lib/fonts/helvetica*
/root/yizhi/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/lib/fonts/”,如下图所示。
然后把文件夹"Qtopia"拷贝到 Ubuntu 系统的 opt 文件夹下,具体操作如下,在 Ubuntu
命令行中,执行命令“ cp -r /root/yizhi/qtopia-free-2.2.0/qtopia/image/opt/Qtopia /opt” ,
如下图所示。
5 打包工具的安装
生成可以下载的 system.img 文件需要工具 “mkimage” , 这个工具在用户网盘 “iTOP6818
开发板资料汇总(不含光盘内容) \04_iTOP-6818开发板QtE和Qtopia系统源码以及镜像\03-编译器、补丁包以及其它工具\03-Qt 打包工具”文件夹下的压缩包“linux_tools.tgz”中。
拷贝压缩包到 Ubuntu 系统的“/”目录下,注意目录是“/”。
进入“/”目录,然后使用命令“tar -vxf linux_tools.tgz ”,将压缩包解压。
解压后如下图所示,在“/usr/local/bin/”目录下生成了两个文件。注意:如果前面没有
安装 mkimage工具,则需要执行“apt-get install uboot-mkimage”命令安装一下。
6生成文件系统
最后还需要使用解压 Android 源码得到的工具包。
如下图所示,进入前面解压的 6818Android 源码的目录“qt_system/system/opt”,如
下图所示。
把前面编译生成的文件夹“Qtopia”拷贝到解压出来的“opt”文件夹中,具体操作如下,
在 Ubuntu 命令行中,执行命令
“cp -r /root/yizhi/qtopia-free-2.2.0/qtopia/image/opt/Qtopia
/home/6818/lollipop-5.1.1_r6/qt_system/system/opt”
注意红色的 6818/lollipop-5.1.1_r6 是作者解压 Android的文件夹,如果用户自己搭建环
境,则需要替换成自己设置的目录。
最后参考使用第五章中 Qt 编译部分,执行编译脚本“build_android.sh qt”,如下图所
示。
注意:Android 源码中只有 Qtopia2.2.0 生成好的文件系统,本章是从最初的源码编译的
到 Qtopia 文件系统。 在第五章 qt 编译部分只是给文件系统打包, 并没有编译 Qtopia 的源码。