英蓓特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. cmd运行java程序,无黑框闪烁

    程序目录中创建 “启动.bat” @echo off set mypath="%~dp0myjar.jar" echo %mypath% start javaw -jar %myp ...

  2. oc常用正则表达式

    常用的第三方正则库: http://regexkit.sourceforge.net/RegexKitLite/index.html 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹 ...

  3. swift把汉字转换为拼音,并且截取首字母做索引用

    var transformContents = CFStringCreateMutableCopy(nil, 0, "咋啊的看到回复阿斯顿发货发哦iasdifas")CFStrin ...

  4. 文字排版--粗体(font-weight)

    我们还可以使用css样式来改变文字的样式:粗体.斜体.下划线.删除线,可以使用下面代码实现设置文字以粗体样式显示出来. p span{font-weight:bold;} 在这里大家可以看到,如果想为 ...

  5. ILMerge合并程序

    在DOS窗口中,进入到ILMerge的安装目录 中 如图所示,之后写合并代码, 使用命令进行捆绑,以如图为例,将CSkin.dll和MyTool.exe捆绑成一个新的newtool.exe文件./ou ...

  6. IE6解决固定定位代码

    有些朋友在进行网页布局时,会遇到IE6浏览器不支持固定定位的兼容性问题,本博将详细介绍此问题的解决方法,需要了解的朋友可以参考下. ie6 垂直居中固定定位,代码如下: #center {_posit ...

  7. UOJ222 NOI2016 区间 线段树+FIFO队列

    首先将区间按长度排序后离散化端点(这里的“长度”指的是离散化之前区间的实际长度) 然后模拟一个队列,区间按排好的顺序依次进入,直到某个点被覆盖了M次.之后依次出队,直到所有点都被覆盖小于M次 修改和询 ...

  8. 如何用DOS 链接mysql

    1.Ctrl+R 打开DOS窗口 2.键入 cd\ 回车进入C盘根目录 3.进入mysql bin目录下 操作mysql命令 4.输入连接数据库命令 mysql -hlocalhost -uroot ...

  9. 第一个程序点亮一个LED灯

    #include <reg52.h> // 引用52包文件 可以理解为命名空间 sbit P1_0 = P1^0;   // 定义P1管脚0 void main()             ...

  10. EasyPR--开发详解

    我正在做一个开源的中文车牌识别系统,Git地址为:https://github.com/liuruoze/EasyPR. 我给它取的名字为EasyPR,也就是Easy to do Plate Reco ...