嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

时间:2022-03-11 09:24:33

主要详细讲解如何搭建编译环境。

安装 Ubuntu 初始系统之后,就可以开始搭建 Android编译环境。

这里需要注意的是,搭建过程中用到的各类软件,都需要和手册提到的版本保持一致,如

果使用的是“搭建好的镜像”,则可以跳过这一节,但是编译的时候要针对性的设置一下环境变量。另外 iMX6 的编译环境和我们另一款开发板 4412 的编译环境,一模一样,部分图片使用4412 的截图,并不影响使用。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com


1基础软件的安装

首先安装虚拟机“Vmware_Workstaion_wm”,然后使用虚拟机安装“Ubuntu12.04.2

初始系统”。

虚拟机和 Ubuntu 初始系统迅为电子在网盘提供下载。

Ubuntu 的安装方法可以参考 3.2 小节来安装 Ubuntu12.04.2 原始系统。

如下图所示,Ubuntu 初始系统安装完成。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

输入密码“topeet”,登陆 Ubuntu,键盘上按“Ctrl+Alt+t”,弹出 Ubuntu 的控制

台。如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

安装完成后进入 Ubuntu 的终端,激活 root 用户,具体操作如下:

在 Ubuntu 命令行中,执行命令“sudo passwd root“,接着在 Ubuntu 的终端输入安

装时的密码和新密码,Ubuntu 系统中密码默认是隐藏的。如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

接着登录 root 用户,具体操作如下。

在 Ubuntu 命令行中,执行命令“su root ”,接着输入密码,就可以登陆 root 用户。

后面所有的操作都需要在 root 用户下面进行操作,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

参考“3.2.4 虚拟机 VMware-workstation8.0.3 联网以及基本设置”联网。

参考“3.3.4.2 修改数据源地址”将 Ubuntu 数据源地址修改为国内地址。

参考“3.3.4.3“apt-get update”命令”更新数据源。

然后在 Ubuntu 安装软件 vim 和 ssh,具体操作如下。在 Ubuntu 命令行中,执行命令

“apt-get install vim”、“apt-get install ssh”和“apt-get install uboot-mkimage”。

上面安装的 ssh 软件,可以很方便在主机和虚拟机上传递文件,也可以通过远程终端控制

Ubuntu 系统,这里推荐给大家使用。ssh 软件的使用参考 3.3 小节。

2交叉编译工具的安装

注意:本节安装的编译器不会在编译 iMX6 源码中有用,但是在后续的章节更新中会使用

到!

编译的时候需要用到交叉编译工具,这里安装的是 arm-2009q3 编译器,在网盘目录

“02_iTOP-iMX6 开发板编译系统所需要的工具包等\04-arm-2009q3 编译器”下,如下图所

示,压缩包“arm-2009q3.tar.bz2”。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

使用 SSH 工具将交叉编译工具拷贝到 Ubuntu12.04.2 系统的文件夹“usr”-->“local”-->“arm”中,local 下默认没有 arm 文件夹,可以新建一个。如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

拷贝编译器之后如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

然后在 Ubuntu 系统中将压缩包解压到当前目录下。

使用命令“cd /usr/local/arm/”进入/usr/local/arm 文件夹,然后使用解压命令“tar -vxf arm-2009q3.tar.bz2”解压压缩包,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

3修改交叉编译工具的路径(修改环境变量)

修改交叉编译工具路径,需要修改环境变量,具体操作如下:

在 Ubuntu 命令行中,执行命令“cd /root”和“vim .bashrc”,打开环境变量文件

“.bashrc”,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

然后在“.bashrc”文件中的最后一行添加如下信息:

“export PATH=$PATH:/usr/local/arm/arm-2009q3/bin”

如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

修改完成后保存退出。

执行下列命令,更新环境变量“source .bashrc”的命令,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

最后,在 Ubuntu 命令行中输入命令“arm”,然后按 TAB 键,如果在命令行中能够看

到 arm 编译器的信息,就表明交叉编译工具安装成功,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

4 安装JDK

为了方便用户,将库文件和 JDK 的安装命令制作成了脚本文件,用户只要执行两个脚本

就可以安装库文件和 JDK。这两个脚本在用户网盘“\02_iTOP-iMX6 开发板编译系统所需要

的工具包等\03_tools”文件夹下的压缩包“Android_JDK.tar.bz2”中。

用户将压缩包拷贝到 Ubuntu 系统中,解压压缩包会生成文件夹“Android_JDK”,如

下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

使用 cd 命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹,运行脚本文件

“install-sun-java6.sh”。

需要注意的是,这条命令执行完毕可能会耗时 15 分钟以上。

如下图所示,执行“./install-sun-java6.sh”脚本。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

执行上面的命令的时候,根据提示输入“回车”命令。升级完成之后如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

5 安装库文件

接上一小节。

进入解压出来的文件夹“Android_JDK”中运行脚本“install-devel-packages.sh”,安

装库文件,具体操作如下:

在 Ubuntu 命令行中,执行命令“./install-devel-packages.sh”

需要注意的是,这条命令可能会耗时 40 分钟以上。如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

上面命令执行的时候,需要根据提示输入“Y”

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

然后安装过程中,还会提示输入“y”,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

如下图所示,安装完毕。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

这里需要注意的是,上面的脚本执行完毕的时候,注意一下有些库文件是不是提示没有安

装。如果发现有库文件没有安装,有可能是网络不好或者下载源丢失。这个时候用户使用一下更新下载源的命令”apt-get update“,然后再执行一下上面的两个脚本。

例如,如下图所示,再次运行“./install-devel-packages.sh”之后,提示没有无法安装

的库和软件,那么表明已经安装完全了。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

6降低GCC版本

接上一小节。

使用 Ubuntu 编译 Android 的时候需要用到 Ubuntu 系统自带的 GCC4.4.7 编译器,但

是安装的 Ubuntu12.04.2 版本,它的 GCC版本过高,所以这里需将要 GCC编译的版本降低

到 4.4.7。

进入前面解压的文件夹“Android_JDK”中,会看到一个文本“update_gcc.txt”,打开

文本“update_gcc.txt”后会看到里面有 8 条命令,这 8 条命令需要在 Ubuntu 命令行中依

次执行。

如下图所示,使用命令打开“update_gcc.txt”文件。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

如下图所示,有 8 条命令。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

例如执行第一条命令,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

根据提示输入“y”,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

其余几条命令,如下图所示,执行起来很快。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

在执行了这 8 条命令之后,Ubuntu 系统就将 gcc 的版本降低到 4.4.7。

如下图所示,使用命令“gcc -v”,可以看到 gcc 的版本为 4.4.7 了。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

需要注意的是,在执行这 8 条命令时,只有第一条命令会耗时 10 分钟左右,其它的都会

很快完成,而且命令一定要依次执行,不能有遗漏。

在网盘目录“02_iTOP-iMX6 开发板编译系统所需要的工具包等\03_tools”下有个压缩

包“linux_tools.tgz”,将其拷贝到到 Ubuntu 的“/”目录下,并使用命令“tar -vxf

linux_tools.tgz”解压,如下图。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

编译 Android还缺少一个 javap 命令,在 Ubuntu 命令行中,任意目录下,使用命令:

update-alternatives --install "/usr/bin/javap" "javap"

"/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1

更新,如下图所示。

嵌入式开发-迅为I.MX6Q开发板搭建系统基础编译环境

执行到前面一步,就可以将 iTOP-iMX6 开发板 Android对应所有源码全部一次编译通

过,搭建环境至此完成。