英蓓特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. Android布局管理器(表格布局)

    表格布局有TableLayout所代表,TableLayout继承了LinearLayout,因此他的本质依然是LinearLayout. 表格布局采用行.列的形式来进行管理,在使用的时候不需要声明多 ...

  2. CI 笔记(easyui js命令)

    1. 两种方式加载easyui,一是用class自动渲染,一种是js.建议js. 2. 参考李炎恢的easyui的视频教程.最好的一个视频,对于easyui.

  3. For Me ...

    一直有做博客的打算,但是这也看不上,那也看不上. 总想着做一个personal blog,界面,风格全由自己设计. 可时间上总是不充裕的. 可技术上总是欠火候的. 可内容上总是待斟酌的. 于是时间被我 ...

  4. 【转】 NSString什么时候用copy,什么时候用strong

    原文: http://blog.csdn.net/itianyi/article/details/9018567 大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有 ...

  5. iOS菜鸟之苹果开发者账号的注册

    大家一起来讨论讨论苹果开发者账号的注册(主要是以公司的开发者账号为例),前段时间公司要求注册开发者账号,于是我就特地看了看相关的帖子.这里简单给大家总结一下具体的流程. 首先你要登陆这个网址,进去之后 ...

  6. css media

    /* media */ /* 横屏 */ @media screen and (orientation:landscape){ } /* 竖屏 */ @media screen and (orient ...

  7. 学习笔记--【转】Parameter与Attribute的区别&servletContext与ServletConfig区别

    原文链接http://blog.csdn.net/saygoodbyetoyou/article/details/9006001   Parameter与Attribute的区别   request. ...

  8. thinkphp 中js 实现刷新

    <input name="Button5" value="返回" id="Button5" style="width:56p ...

  9. __attribute__ ((section(".text")))的测试

    一.测试原因 在学习u-boot的环境变量过程中,看到有如此的代码,现对涉及到的内容进行实验测试. 二.测试目的 1.了解gcc允许对段的属性进行更改的方法. 2.解决”ENV_IS_EMBEDDED ...

  10. MSSQL中datetime与unix时间戳互转

    //ms sql datetime 转unix时间戳 SELECT DATEDIFF(s, '19700101',GETDATE()) //ms sql unix时间戳 转datetime 涉及到时区 ...