zoukankan      html  css  js  c++  java
  • 英蓓特Mars board的android4.0.3源码编译过程

    英蓓特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!




  • 相关阅读:
    建站两个月,说说我的想法
    我见过的郭弃疾先生(兰亭集势CEO)
    C#数组和集合互相转换的几种方法的效率分析
    (五)React Ant Design Pro + .Net5 WebApi:后端环境搭建Autofac注入+ 泛型仓储
    关于C++中对私有的测试总结
    uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型(转)
    GDB调试
    linux删除乱码文件
    转:C++ nan
    vim
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3275450.html
Copyright © 2011-2022 走看看