英蓓特Mars board的android4.0.3源码编译过程
作者:StephenZhu(大桥++) 2013年8月22日
若要转载,请注明出处

一、编译环境搭建及要点:

1. 虚拟机软件virtual box 4.2.16

2. 虚拟机装操作系统 ubuntu10.04 32bit版
3. 虚拟机内存1.792GB, 硬盘500GB(未必用上这么多,使用动态模式)
4. JDK 这个稍麻烦点,针对android4.0.3,一定要安装jdk.6.0_31。因为官方ubuntu已经没有合适的源了, 所以要自己去Oracle官方下载安装包jdk-6u31-linux-i586.bin, 下载下来放到/opt 目录下,
chmod +x jdk-6u31-linux-i586.bin
./jdk-6u31-linux-i586.bin 解压安装,会生成jdk1.6.0_31目录

接下来设置环境变量,改/etc/profile 见以下第二节第2点

5. 其它包
这一点和google官方讲的不太一样,因为官方是用ubuntu10.04的64位版,而我们是32位版,所以会少装几个与32位有关的包,具体如下
#apt-get install git-core gnupg flex bison gperf build-essential   zip curl zlib1g-dev libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc


最后发现还要加一个
#apt-get install ncurses5-dev

6. 推荐使用root用户登录
$sudo passwd
提示输入密码,请输入密码,然后登出系统,使用root登录

二、编译过程
1. 下载源码android-imx6-r13.3.tar.bz2,解压,使用tar jxvf android-imx6-r13.3.tar.bz2,例如我解压到
/home/stephen/androidembestMars/

2. 设置PATH, 改/etc/profile 在最后面添加以下代码
#set java environment 设置JAVA的环境变量

export JAVA_HOME=/opt/jdk1.6.0_31

export JRE_HOME=/opt/jdk1.6.0_31/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

#set mkimage env 设置mkimage等bin文件的环境变量

export MKIMAGE_HOME=/home/stephen/androidembestMars/android-imx6-r13.3 这是源码解压的主目录

export PATH=$PATH:$MKIMAGE_HOME/bootable/bootloader/uboot-imx/tools 设置mkimage等bin文件的老窝路径


编辑完成后在当前命令窗口执行一下,以便让环境变量生效
source /etc/profile

3. 编译的具体命令
以同一命令窗口下,执行
#source build/envsetup.sh
#lunch marsboard_6q-user 有兴趣可以lunch下,看看所有的程序
#make -j4

编译过程用了5个小时. 机器配置为i5 3210双核4线程,虚拟机1.792GB内存
编译结果显示:
Install system fs image: out/target/product/marsboard_6q/system.img

out/target/product/marsboard_6q/system.img+out/target/product/marsboard_6q/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p total size is 210424497

这是多么激动人心啊

查看一下输出的文件
root@stephen-vbox:/home/stephen/androidembestMars/android-imx6-r13.3# ls out/target/product/marsboard_6q/*.img

out/target/product/marsboard_6q/boot.img

out/target/product/marsboard_6q/ramdisk.img

out/target/product/marsboard_6q/ramdisk-recovery.img

out/target/product/marsboard_6q/recovery.img

out/target/product/marsboard_6q/system.img

out/target/product/marsboard_6q/userdata.img

几大image都有了:
 
boot.img , system.img, system.img
另外还有
uboot.bin.

完成了,bingo!


英蓓特Mars board的android4.0.3源码编译过程的更多相关文章

  1. [odroid-pc] ubuntu12.04 64bit Android4.0.3 源码编译报错及解决的方法

    第一个错误:         host Executable: cmu2nuance (out/host/linux-x86/obj/EXECUTABLES/cmu2nuance_intermedia ...

  2. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  3. spark2.1.0的源码编译

    本文介绍spark2.1.0的源码编译 1.编译环境: Jdk1.8或以上 Hadoop2.7.3 Scala2.10.4 必要条件: Maven 3.3.9或以上(重要) 点这里下载 http:// ...

  4. 非寻常方式学习ApacheTomcat架构及10.0.12源码编译

    概述 开启博客分享已近三个月,感谢所有花时间精力和小编一路学习和成长的伙伴们,有你们的支持,我们继续再接再厉 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 Tomcat官 ...

  5. 解决Tomcat10.0.12源码编译问题进而剖析其优秀分层设计架构

    概述 Tomcat.Jetty.Undertow这几个都是非常有名实现Servlet规范的应用服务器,Tomcat本身也是业界上非常优秀的中间件,简单可将Tomcat看成是一个Http服务器+Serv ...

  6. ubuntu13.04下载android4.0.1源码过程

    最初我参考的是老罗的博客http://blog.csdn.net/luoshengyang/article/details/6559955 进行下载安装的,但弄着弄着就发现不太对劲了.这里记录下详细过 ...

  7. 【转】如何下载并编译Android4.0内核源码goldfish(图文)

    原文网址:http://blog.csdn.net/flydream0/article/details/7070392 关于如何下载Android4.0源码,请查看我的博客内另一篇文章(同样是图文教程 ...

  8. Ubuntu12.04下载Android4.0.1源码全过程,附若干问题解决[转]

    学校里一直在做应用层开发,考虑到日后就业问题,这次决定研究源码和驱动,并进行编译.没想到就下载源码这一步折腾了我整整两天,期间遇到很多问题,哎,记录于此,希望日后再下源码的人不要再走无谓的弯路了.事实 ...

  9. [2013.7.5新鲜出炉] Ubuntu12.04下载Android4.0.1源码全过程----------------折腾两天,终于下好,附若干问题解决

    本文转至 http://blog.csdn.net/yanzi1225627/article/details/9255457 下载源码这一步折腾了我整整两天,期间遇到很多问题,哎,记录于此,希望日后再 ...

随机推荐

  1. 【转】 OC基础数据类型-NSSet

    原文 : http://www.cnblogs.com/GISerYang/p/3340937.html 1.集合:集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址:不过 ...

  2. 如何获取App当前版本号

    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary]; NSString *currentVersion = [infoDic ...

  3. office2010怎么激活

    软件都是不断更新换代的,像我们使用最多的Microsoft Office软件,从最初的98,2000,2003,2007,到现在的2010.但是在最初安装Office软件时,都是未激活的.下面介绍的就 ...

  4. 向RichTextBox控件不停的AppendText数据时,如何把光标的焦点始终显示到最后

    上面是csdn上的一个网友的问题,我的一个实现如下://让文本框获取焦点this.richTextBoxInfo.Focus();//设置光标的位置到文本尾this.richTextBoxInfo.S ...

  5. [转载]hadoop SecondNamenode详解

    SecondNamenode名字看起来很象是对第二个Namenode,要么与Namenode一样同时对外提供服务,要么相当于Namenode的HA.真正的了解了SecondNamenode以后,才发现 ...

  6. SHELL脚本自动备份Linux系统

    今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份.直接上脚本如下: #!/bin/sh ...

  7. @import————————css代码内部链接另外css

    在css代码里这样可以链接另外的css @import url("style.css");   @import语法结构 @import + 空格+ url(CSS文件路径地址); ...

  8. MySql数据库4【命令行赋权操作】

    MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant selec ...

  9. Ubuntu使用Xming和Putty

    运行个复杂的,比如 gnome-session,这个是 GNOME 的启动命令,如果想打开 KDE 就是 startkde root@carlo-cloud:~# xlogoThe program ' ...

  10. 3.1决策树理论--python深度机器学习

    参考彭亮老师的视频教程:转载请注明出处及彭亮老师原创 视频教程: http://pan.baidu.com/s/1kVNe5EJ   0. 机器学习中分类和预测算法的评估:   准确率 速度 强壮行 ...