[I.MX6Q][Android6.0.1_r3]之源码获取及编译
来源:互联网 发布:空间数据的逻辑运算 编辑:程序博客网 时间:2024/06/11 08:29
转载自 http://blog.csdn.net/leavestrong/article/details/51864897?locationNum=11
环境说明:
- 编译系统:Ubuntu14.04
- 编译软件:Android6.0.1_r3
- 内核版本:3.14.52
- UBOOT:2015.04
- 硬件平台:I.MX 6Quad SABRE-SD
设置编译系统
- 安装需要的包
这里的包包括了Android官网和Freescal建议的包。大家安装即可。
- 1
- 安装JDK
早些就听说Android将不再使用Android自有的Java API版本,而是全面依靠开源的OpenJDK,需要说明的Android6.0.1_r3已经开始使用OpenJDK,而且默认使用OpenJDK7。安装方法如下:
- 1
配置默认java版本,如果电脑上只安装一个版本,这个可以不做。
- 1
- 2
测试一下Java版本
- 1
- 2
编译I.MX Android6.0镜像
- 获取Android6.0.1_r3源码
获取Android源码要从境外服务器下载,肯定是被墙了,但是国内还有很多镜像服务器可以使用,像清华、北大等都有镜像服务可以使用,这里我们使用北大的镜像服务器。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
数个小时过后……
- 获取I.MX Kernel
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 获取I.MX U-boot
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 为源码打I.MX的补丁
下载源码补丁android_M6.0.1_1.0.0_core_source.tar.gz,点这里。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 编译Android
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
数个小时之后,你将在 < AndroidSDK >out/target/product/sabresd_6dq/看到u-boot.imx boot.img recovery.img system.img 等文件。
- Android目录文件解析
root目录:安卓root文件系统,里面存放init init.rc等文件,会被挂载到 / 。
system目录:安卓system目录,存放二进制文件和库,会被挂载到 /system 。
data目录:安卓data目录,存放用户的一些私有文件, 会被挂载到 /data 。
recovery目录:当启动到recovery模式时,做root文件系统,一般不会直接使用。
boot.img:集成内核的zImage、ramdisk.img、dtb(设备树文件)还有启动参数。
ramdisk.img:由root目录生成,然后被集成到boot.img,不会被直接使用。
recovery.img:EXT4格式的img文件,由recovery目录生成。
u-boot.imx:u-boot镜像,不用多说。
- 单独编译u-boot镜像
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 单独编译uImage镜像
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
几十分钟过后……
查看目录< Kernel_imx>/arch/arm/boot/ ,你可以看到zImage 和 uImage 文件
- 单独编译boot.img镜像
- 1
- 2
- 3
- 4
- 单独编译recovery.img镜像
- 1
- 2
- 3
- 4
I.MX6Q Android6.0.1_r3启动部分注意点
- Boot.img默认启动参数解析
在文件< AndroidSDK>/device/fsl/sabresd_6dq/BoardConfig.mk中 BOARD_KERNEL_CMDLINE 记录了boot.img的默认参数,我们可以修改它,或者在Uboot中设置自己的启动参数,如下操作
- 1
- 2
- 3
- 4
- fstab文件注意
在文件< AndroidSDK>/device/fsl/sabresd_6dq/BoardConfig.mk中 TARGET_RECOVERY_FSTAB 记录了fstab文件的路径,如果在启动时发现挂载文件系统时路径不 对,大家可以修改上宏所指定的文件即可。
F&Q
1.系统启动时报错,导致system挂载不上:fs_mgr: Error loading verity table (No such file or directory)fs_mgr: Could not set up verified partition, skipping!
解决办法:
在bootargs中加入如下参数:
- [I.MX6Q][Android6.0.1_r3]之源码获取及编译
- [I.MX6Q][Android6.0.1_r3]之源码获取及编译
- [I.MX6Q][Android6.0.1_r3]之源码获取及编译
- [I.MX6Q][Android6.0.1_r3]之eng模式下屏幕四周红框显示问题
- i.MX6q Android6.0 移植
- [IMX6Q][Android6.0.1_r3]之系统屏幕显示默认设置更改
- android6.0源码编译及刷机
- Freescale i.MX6Q Android 4.3.2编译:
- ubuntu 编译android源码 (android-5.1.0_r3)
- I.MX6Q新版BSP之kernel移植
- Ubuntu16.04 LTS 编译Android6.0.1源码
- Android6.0源码编译
- 天嵌i.mx6q开发板android4.3编译问题
- I.MX6Q SABRE Lite在Ubuntu下编译QT4.8.4
- webrtc源码获取及编译
- webrtc源码获取及编译
- i.MX6Q -- 架构图
- Mac Android 源码下载 编译 运行 Android6.0.1
- sqlalchemy入门
- 1019. General Palindromic Number (20)
- transient、volatile、tree
- Linux平台编辑器Vim的使用快捷键汇总
- 【剑指offer】面试题8:二叉树的下一个节点
- [I.MX6Q][Android6.0.1_r3]之源码获取及编译
- NYOJ士兵杀敌(一) 线段树区间求和
- 高精度乘法
- TOMCAT7关于支持SERVLET3的新特性
- 古典密码学(Vigenere)之Java实现
- JavaScript中常见的方法
- Codeforces 828 B Black Square
- 【BFS】coj 1061 【魔方系列】最大色块
- 【GDOI2018模拟7.12】B