本文
介绍 uboot
、
Linux3.0.15
和
linux-3.5
内核、
Android4.0.3
和
Android4.2.2
编译环境的搭建以及编译。
详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com
Uboot
、
Kernel
以及
Android
的编译环境看似复杂,用户只要抓住以下几个要点就可以
了:
第一:Uboot
、
Kernel
编译器。编译器在光盘中都有提供,在需要使用的步骤中,会说
明编译器在光盘中的位置。
第二:设置环境变量。Uboot
、
Kernel
编译器的环境变量设置后,编译的时候,系统才
能找到编译器。
第三:Android
文件系统的编译器。编译器需要使用
Ubuntu
系统自带的
gcc
编译器,
但是版本不对,所以需要降低版本。迅为将这个过程编写了成几个简单的命令,用户只需要挨个执行命令就可以了。
第四:库文件。搭建过程中会给通过执行简单的脚本命令来安装库文件,复杂的步骤变的
简单有效。
另外,如果用户想了解编译环境具体是怎么搭建起来的,可以利用我们提供的脚本文件来
学习。
Android4.0.3
编译环境的两种搭建方式
迅为电子给用户提供两种搭建编译环境的方式,一种方法是用户安装虚拟机,然后安装基
础的 Ubuntu12.04.2
系统,利用我们提供工具和详细的使用步骤,搭建编译环境;另外一种方法是用户安装虚拟机,然后直接加载我们“搭建好的
Ubuntu
镜像”,用户只需要修改一下编译器的环境变量,就可以直接用来编译源码。
1. 自己搭建环境
自己安装虚拟机,安装 Ubuntu12.04.2
系统,搭建环境。
2. 搭建环境
如何搭建编译环境,
这里需要注意的是,搭建过程中用到的各类软件,都需要和手册提到的版本保持一致,如果使用的是“搭建好的镜像”,则可以跳过这一节,但是编译的时候要针对性的设置一下环境变量。
3. 安装基本软件
首先安装虚拟机“
Vmware_Workstaion_wm
”,然后使用虚拟机安装“
Ubuntu12.04.2
初始系统”。
Ubuntu
的安装方法可以参考
3.2
小节来安装
Ubuntu12.04.2
原始系统,如下图所示,
Ubuntu
初始系统安装完成。
<ignore_js_op>
输入密码“
topeet
”,登陆
Ubuntu
,键盘上按“
Ctrl+Alt+t
”
,
弹出
Ubuntu
的控制
台。如下图所示。
<ignore_js_op>
安装完成后进入 Ubuntu
的终端,激活
root
用户,具体操作如下。
在 Ubuntu
命令行中,执行命令“
sudo passwd root
”。
接着在 Ubuntu
的终端输入安装时的密码和新密码,
Ubuntu
系统中密码默认是隐藏的。
如下图所示。
<ignore_js_op>
接着登录 root
用户,具体操作如下。
在 Ubuntu
命令行中,执行命令“
su root
”。
接着输入密码,就可以登陆 root
用户。
后面所有的操作都需要在 root
用户下面进行操作,如下图所示。
<ignore_js_op>
虚拟机 VMware-workstation8.0.3
联网
修改数据源地址,
将 Ubuntu
数据源地址修改为国内地址。
更新数据源。
然后在 Ubuntu
安装软件
vim
和
ssh
,在
Ubuntu
命令行中,执行命令“
apt-get install
vim
”和“
apt-get install ssh
”。
上面安装的 ssh
软件,可以很方便在主机和虚拟机上传递文件,也可以通过远程终端控制
Ubuntu
系统,这里推荐给大家使用。
安装编译组件
交叉编译工具
编译的时候需要用到交叉编译工具,我们提供的交叉编译工具是用户光盘“
02_
编译器以
及烧写工具”→“
arm
交叉编译器”文件夹中的压缩包“
arm-2009q3.tar.bz2
”。
<ignore_js_op>
使用 SSH
工具将交叉编译工具拷贝到
Ubuntu12.04.2
系统的文件夹“
usr
”
-->
“
local
”
-->
“
arm
”中,
local
下默认没有
arm
文件夹,可以新建一个。如下图所示。
<ignore_js_op>
拷贝编译器之后如下图所示。
<ignore_js_op>
然后在 Ubuntu
系统中将压缩包解压到当前目录下。
使用命令“
cd /usr/local/arm/
”进入
/usr/local/arm
文件夹,然后使用解压命令“
tar -vxf arm-2009q3.tar.bz2
”解压压缩包
,
如下图所示。
<ignore_js_op>
修改交叉编译工具的路径(修改环境变量)
修改交叉编译工具路径,需要修改环境变量。在 Ubuntu
命令行中,执行命令“
cd
/root
”和“
vim .bashrc
”,打开环境变量文件“
.bashrc
”,如下图所示。
<ignore_js_op>
然后在“
.bashrc
”文件中的最后一行添加如下信息:
“
export PATH=$PATH:/usr/local/arm/arm-2009q3/bin
”
如下图所示。
<ignore_js_op>
修改完成后保存退出。
执行下列命令,更新环境变量“
source .bashrc
”的命令,如下图所示。
<ignore_js_op>
最后,在 Ubuntu
命令行中输入命令“
arm
”,然后按
TAB
键,如果在命令行中能够看
到 arm
编译器的信息,就表明交叉编译工具安装成功。如下图所示。
<ignore_js_op>
安装库文件、JDK
以及降低
GCC
版本
为了方便用户,将库文件和 JDK
的安装命令制作成了脚本文件,用户只要执行两个脚本
就可以安装库文件和 JDK
。这两个脚本在用户光盘“
02_
编译器以及烧写工具”→“
tools
”文件夹下的压缩包“
Android_JDK.tar.bz2
”中,如下图所示。
<ignore_js_op>
用户将压缩包拷贝到 Ubuntu
系统中,解压压缩包会生成文件夹“
Android_JDK
”,如
下图所示。
<ignore_js_op>
安装库文件和 JDK
使用 cd
命令,进入解压出来的“
Android_JDK
”
-->
“
jdk6
”文件夹,运行脚本文件
“
install-sun-java6.sh
”。
需要注意的是,这条命令执行完毕可能会耗时 15
分钟以上。
如下图所示,执行“
./install-sun-java6.sh
”脚本。
<ignore_js_op>
执行上面的命令的时候,根据提示输入“回车”命令。升级完成之后如下图所示。
<ignore_js_op>
进入解压出来的文件夹“
Android_JDK
”中运行脚本“
install-devel-packages.sh
”,安
装库文件。在 Ubuntu
命令行中,执行命令“
./install-devel-packages.sh
”,需要注意的
是,这条命令可能会耗时 40
分钟以上,如下图所示。
<ignore_js_op>
上面命令执行的时候,需要根据提示输入“
Y
”。
<ignore_js_op>
然后安装过程中,还会提示输入“
y
”,如下图所示
<ignore_js_op>
如下图所示,安装完毕。
<ignore_js_op>
这里需要注意的是,上面这个脚本执行完毕的时候,注意一下有些库文件是不是提示没有
安装。如果发现有库文件没有安装,有可能是网络不好或者下载源丢失。这个时候用户使用一
下更新下载源的命令”
apt-get update
“,然后再执行一下上面的两个脚本。
例如,如下图所示,再次运行“
./install-devel-packages.sh
”之后,提示没有无法安装
的库和软件,那么表明已经安装完全了。
<ignore_js_op>
降低 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
”文件。
<ignore_js_op>
如下图所示,有 8
条命令。
<ignore_js_op>
例如执行第一条命令。
<ignore_js_op>
根据提示输入“
y
”,如下图所示。
<ignore_js_op>
其余几条命令,如下图所示,执行起来很快。
<ignore_js_op>
在执行了这 8
条命令之后,
Ubuntu
系统就将
gcc
的版本降低到
4.4.7
。
如下图所示,使用命令“
gcc -v
”,可以看到
gcc
的版本为
4.4.7
了。
<ignore_js_op>
需要注意的是,在执行这 8
条命令时,只有第一条命令会耗时
10
分钟左右,其它的都会
很快完成,而且命令一定要依次执行,不能有遗漏