文章目录
- 编译流程
- 一、uboot编译
- 1.编译须知
- 2.编译步骤
- 二、编译linux内核
- 1.编译须知
- 2.编译步骤
编译流程
Uboot、Kernel(即 Linux 内核,下面等同)以及 Android 的编译环境看似复杂,用户只要抓住以下几个要点就可以了
第一、Uboot、Kernel编译器。
第二、设置环境变量。Uboot、Kernel编译器的环境变量设置后,编译的 时候,系统才能找到编译器。
第三、Android 文件系统的编译器。编译器需要使用 Ubuntu 系统自带的 gcc 编译器,但是版本不对,所以需要降低版本。迅为将这个过程编写了成几个简单的命令,用户只需要挨个执行命令就可以了。
第四:库文件。搭建过程中会给通过执行简单的脚本命令来安装库文件,复杂的步骤变的简单有效。
一、uboot编译
1.编译须知
编译器使用arm-2009q3.tar.bz2
编译源码在06_源码_uboot 和 kernel目录下
编译uboot的脚本是源码文件夹中的“build_uboot.sh”
在编译的时候需要向脚本传参数,根据核心板的不同,脚本执行参数如下表所示。
2.编译步骤
将光盘“06_源码_uboot 和 kernel”目录下“CodeSign4SecureBoot_SCP”以及“iTop4412_uboot_xxx.tar.gz”拷贝到 Ubuntu 系统下,然后将“iTop4412_uboot_xxx.tar.gz”解压,得到“iTop4412_uboot”文件夹,如下
图所示。
进入“iTop4412_uboot”文件夹,使用编译脚本“build_uboot.sh”编译 uboot,这里需要编译的是“SCP 1G 核心板”的 uboot 镜像,那么编译命令是
./build_uboot.sh SCP_1GDDR
编译完成。
在此目录下生成了
这个文件就是对应的uboot镜像文件。
二、编译linux内核
1.编译须知
Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下
如果编译的是android的
内核的编译是组合式配置文件,基本的配置文件名是“config_for_android_YY_elite”,
YY 表示用下表所示的参数替代。
如果编译时QT的
内核的编译是组合式配置文件,基本的配置文件名是“config_for_linux_YY_elite”,
YY表示用下表所示的参数替代。
2.编译步骤
将光盘“06_源码_uboot 和 kernel”目录下的压缩包
“iTop4412_Kernel_3.0_xxx.tar.gz”拷贝到 Ubuntu,然后解压,得到文件夹“iTop4412_Kernel_3.0 ”,如下图所示。
进入文件夹“iTop4412_Kernel_3.0 ”,使用命令
android
cp config_for_android_scp_elite .config
QT
cp config_for_linux_scp_elite .config
覆盖自带的配置文件
然后使用编译命令“make zImage”
make zImage
编译可能报错
解决方法是修改下面的文件
vim ./kernel/timeconst.pl
if (!defined(@val)) {
改为if (!@val) {
再执行
make zImage
温馨提示:需要等待一段时间
编译完成。
文件夹“iTop4412_Kernel_3.0 ”下的“arch”–>“arm”–>“boot”会生成镜像文
件“zImage”,这个 zImage 镜像可以给 SCP 1G 和 SCP 2G 的核心板使用。
查看生成的镜像文件
ls arch/arm/boot/