/*************************************************************************
* I.MX6 Android 5.1.1 下载、编译
* 说明:
* 这里要提到的就是4.2版本,编译中断了,你接着编好像是没事的,但是这个
* 5.1.1版本貌似就得从头再编,这个有点郁闷。
*
* 2016-9-9 深圳 南山平山村 曾剑锋
************************************************************************/ 一、购买VPN(为什么要买VPN?因为要去和Google打交道):
https://www.expressvpn.xyz 二、下载参考文档:
http://www.nxp.com/zh-Hans/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx-6-processors/i.mx6qp/i.mx-6duallite-processors-dual-core-3d-graphics-hd-video-arm-cortex-a9-core:i.MX6DL?fpsp=1&tab=Documentation_Tab 三、下载补丁包:
http://www.nxp.com/zh-Hans/products/software-and-tools/hardware-development-tools/sabre-development-system/sabre-platform-for-smart-devices-based-on-the-i.mx-6-series:RDIMX6SABREPLAT?fpsp=1&tab=Design_Tools_Tab 四、安装lib依赖:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip uuid uuid-dev zlib1g-dev liblz-dev liblzo2- liblzo2-dev lzop git-core curl u-boot-tools mtd-utils android-tools-fsutils 五、安装JDK:
sudo apt-get install openjdk--jdk 六、下载Android源代码:
$ cd ~
$ mkdir myandroid
$ mkdir bin
$ cd myandroid
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ ~/bin/repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r1
$ ~/bin/repo sync # this command loads most needed repos. Therefore, it can take several hours to load.
$ cd ~/myandroid/prebuilts/gcc/linux-x86/arm
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/armeabi-4.6
$ cd arm-eabi-4.6
$ git checkout android-4.4.3_r1 七、下载kernel:
$ cd ~/myandroid
$ git clone git://git.freescale.com/imx/linux-2.6-imx.git kernel_imx # the kernel repo is large. Therefore, this process can take a while.
$ cd kernel_imx
$ git checkout l5..1_2.1.0-ga 八、下载u-boot:
$ cd ~/myandroid/bootable
$ cd bootloader
$ git clone git://git.freescale.com/imx/uboot-imx.git uboot-imx
$ cd uboot-imx
$ git checkout l5..1_2.1.0-ga 九、在home目录解压补丁包:
. tar xvf IMX6_L5.1_2..0_AND_SOURCE_BSP.tar.gz
. cd android_L5..1_2.1.0-ga_core_source/code/
. tar xvf L5..1_2.1.0-ga.tar.gz
. source ~/android_L5..1_2.1.0-ga_core_source/code/L5..1_2.1.0-ga/and_patch.sh 十、开始打补丁,出现warning:
$ c_patch ~/android_L5..1_2.1.0-ga_core_source/code/L5..1_2.1.0-ga/ imx_L5..1_2.1.0-ga
......
Applying patch to hardware/broadcom/libbt
/home/zengjf/myandroid/hardware/broadcom/libbt/.git/rebase-apply/patch:: new blank line at EOF.
+
warning: line adds whitespace errors.
/home/zengjf/myandroid/hardware/broadcom/libbt/.git/rebase-apply/patch:: new blank line at EOF.
+
warning: line adds whitespace errors.
/home/zengjf/myandroid/hardware/broadcom/libbt/.git/rebase-apply/patch:: new blank line at EOF.
+
warning: line adds whitespace errors.
Applying patch to hardware/broadcom/wlan
Applying patch to packages/wallpapers/MusicVisualization
Applying patch to external/aac
Applying patch to external/tremolo
Applying patch to external/libpng
Applying patch to external/sonivox
Applying patch to packages/apps/DeskClock
*************************************************************
Success: Now you can build android code for FSL i.MX platform
************************************************************* 十一、编译:
. export JAVA_HOME=/usr/lib/jvm/java--openjdk-amd64/
. cd ~/myandroid
. source build/envsetup.sh
. lunch sabresd_6dq-user
. make >& | tee build-log.txt 十二、编译完成最后输出信息:
......
host C: libbz_32 <= external/bzip2/compress.c
host C: libbz_32 <= external/bzip2/decompress.c
host C: libbz_32 <= external/bzip2/bzlib.c
host StaticLib: libbz_32 (out/host/linux-x86/obj32/STATIC_LIBRARIES/libbz_intermediates/libbz.a)
Export includes file: bootable/recovery/applypatch/Android.mk -- out/host/linux-x86/obj32/EXECUTABLES/imgdiff_intermediates/export_includes
host Executable: imgdiff (out/host/linux-x86/obj32/EXECUTABLES/imgdiff_intermediates/imgdiff)
Notice file: bootable/recovery/applypatch/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//bin/imgdiff.txt
Notice file: external/bzip2/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//lib/libbz.a.txt
Install: out/host/linux-x86/bin/imgdiff
Import includes file: out/host/linux-x86/obj32/EXECUTABLES/bsdiff_intermediates/import_includes
host C: bsdiff <= external/bsdiff/bsdiff.c
external/bsdiff/bsdiff.c: In function 'main':
external/bsdiff/bsdiff.c::: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized]
Export includes file: external/bsdiff/Android.mk -- out/host/linux-x86/obj32/EXECUTABLES/bsdiff_intermediates/export_includes
host Executable: bsdiff (out/host/linux-x86/obj32/EXECUTABLES/bsdiff_intermediates/bsdiff)
Install: out/host/linux-x86/bin/bsdiff
Construct recovery from boot
mkdir -p out/target/product/sabresd_6dq/obj/PACKAGING/recovery_patch_intermediates/
PATH=out/host/linux-x86/bin:$PATH out/host/linux-x86/bin/imgdiff out/target/product/sabresd_6dq/boot.img out/target/product/sabresd_6dq/recovery.img out/target/product/sabresd_6dq/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p
chunk : type start len
chunk : type start len
chunk : type start len
Construct patches for chunks...
patch is bytes (of )
patch is bytes (of )
patch is bytes (of )
chunk : normal ( , )
chunk : deflate ( , ) (null)
chunk : normal ( , )
Install system fs image: out/target/product/sabresd_6dq/system.img
out/target/product/sabresd_6dq/system.img+out/target/product/sabresd_6dq/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize= blocksize= total= reserve= #### make completed successfully (:: (hh:mm:ss)) #### zengjf@zengjf:~/myandroid$ 十三、磁盘空间占用情况:
zengjf@zengjf:~/myandroid$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 97G 87G .2G % /
none .0K .0K % /sys/fs/cgroup
udev .0G .0K .0G % /dev
tmpfs 395M 1.1M 394M % /run
none 5.0M 5.0M % /run/lock
none .0G 152K .0G % /run/shm
none 100M 52K 100M % /run/user
zengjf@zengjf:~/myandroid$ 十四、u-boot编译:
. 环境变量:
. export ARCH=arm
. export CROSS_COMPILE=~/myandroid/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
. 编译:
. make mx6dlsabresdandroid_config
. make 十五、kernel编译:
. 环境变量:
. export PATH=~/myandroid/bootable/bootloader/uboot-imx/tools:$PATH
. export ARCH=arm
. export CROSS_COMPILE=~/myandroid/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
. 编译:
. make imx_v7_android_defconfig
. make uImage LOADADDR=0x10008000 十六、boot.img编译:
. cd ~/myandroid
. source build/envsetup.sh
. lunch sabresd_6dq-user
. make bootimage 十七、.bashrc环境变量
......
export JAVA_HOME=/usr/lib/jvm/java--openjdk-amd64/
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export ARCH=arm
export CROSS_COMPILE=~/myandroid/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
export PATH=~/myandroid/bootable/bootloader/uboot-imx/tools:$PATH export out=~/myandroid/out/target/product/sabresd_6dq
export uboot=~/myandroid/bootable/bootloader/uboot-imx
export kernel=~/myandroid/kernel_imx
export win=/mnt/hgfs/ftp_root
......

I.MX6 Android 5.1.1 下载、编译的更多相关文章

  1. 【Android 系统开发】下载 编译 Android源代码 和 Android kernel源代码

    下载Android源码简要流程 : a. 获取repo文件: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo ...

  2. Android 11 源码下载+编译教程

    下载AOSP源码 这里我使用的是外国语大学的镜像执行的下载,Mac系统的话,一定要在区分大小姐的磁盘下执行 repo init -u https://mirrors.bfsu.edu.cn/git/A ...

  3. Android源码的下载和编译

    由于公司会安排我做硬解码这块,所以最近一直想研究一下Android源码,可是Android源码的下载真的挺麻烦的(可能是我第一次下载),参照网上的方法,没有一个可行的,现在就将我的下载过程和大家分享一 ...

  4. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  5. 【Android】用Cubism 2制作自己的Live2D——android sdk样本的下载与Android studio编译!

    前言- 在浏览Live2d说明书的时候我无意中发现了一个有趣的东西,就是android sdk中居然自带动态壁纸!那就让我们来试试吧,说明书此页的网址连接——中文版||日文版 Android开发所必需 ...

  6. gradle-4.1-all.zip离线包下载 极速 android studio2.3 3.0编译必备

    http://download.csdn.net/download/yongheng289/10039982 gradle-4.1-all.zip离线包下载 极速 android studio2.3 ...

  7. 下载 编译 Android源代码 和 Android kernel源代码

    下载Android源码简要流程 : a. 获取repo文件: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo ...

  8. android内核源码下载和编译

    1.下载编译 新建kernel目录 ~/srcAndroid/src4.4.4_r1/kernel目录下,输入命令: seven@ThinkPad:~/srcAndroid/src4.4.4_r1/k ...

  9. I.MX6 Android 5.1 纯Linux、U-Boot编译

    /***************************************************************************** * I.MX6 Android 5.1 纯 ...

随机推荐

  1. Golang中的panic和recover(捕获异常)

    func panic(interface{})和func recover() interface{}是Golang中用于错误处理的两个函数. panic的作用就是抛出一条错误信息,从它的参数类型可以看 ...

  2. 通过Nginx 的反向代理来加强kibana的访问安全

    https://blog.csdn.net/choelea/article/details/57406086

  3. 王垠 :写给支持和反对《完全用Linux工作》的人们 ( 2004/8/26)

    在一阵阵唾骂和欢呼声中,<完全用linux工作>被转载到了天涯海角.很多人支持我,也有很多人唾骂我.我不知道它是怎样流传到那么多地方,其实 我不知道它都被转到哪里去了…… 我知道现在这篇文 ...

  4. HDU 5636 Shortest Path(Floyd)

    题目链接  HDU5636 n个点,其中编号相邻的两个点之间都有一条长度为1的边,然后除此之外还有3条长度为1的边. m个询问,每次询问求两个点之前的最短路. 我们把这三条边的6个点两两算最短路, 然 ...

  5. bzoj2555(lct维护sam)

    题意: (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 字符串长度<=6e5,询问总长度<=3e6 分析: 考虑建个sam,然后把 ...

  6. Java并发编程,深入理解ReentrantLock

    ReentrantLock简介 ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁, 支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次 ...

  7. Spring 详解(三)------- SpringMVC拦截器使用

    目录 不拦截静态资源 使用拦截器 拦截器使用测试 SimpleMappingExceptionResolver 拦截异常 不拦截静态资源 如果配置拦截类似于*.do格式的拦截规则,则对静态资源的访问是 ...

  8. pinpoint 应用性能管理工具安装部署

    原文:http://www.cnblogs.com/yyhh/p/6106472.html pinpoint 安装部署   阅读目录 1. 环境配置 1.1 获取需要的依赖包 1.2 配置jdk1.7 ...

  9. scrapy的allowed_domains设置含义

    设置allowed_domains的含义是过滤爬取的域名,在插件OffsiteMiddleware启用的情况下(默认是启用的),不在此允许范围内的域名就会被过滤,而不会进行爬取 但是有一个问题:像下面 ...

  10. Word2vector原理

    词向量: 用一个向量的形式表示一个词 词向量的一种表示方式是one-hot的表示形式:首先,统计出语料中的所有词汇,然后对每个词汇编号,针对每个词建立V维的向量,向量的每个维度表示一个词,所以,对应编 ...