raspberryPi2 移植Android系统
来源:互联网 发布:mac brew mongodb 编辑:程序博客网 时间:2024/06/03 14:00
原文:http://www.elicec.com/2017/01/raspberry_pi2_port_android/
raspberryPi2 移植Android系统
从本文你学到的东西
- 如何下载Android源码
- 如何编译Android源码
- 如何在Linux下分区
- 如何将Android镜像移植到raspberrypi
步骤概览
- 下载raspberry2的Linux内核和Android源码
- 编译raspberry2的Linux内核生成
zImage
内核镜像 - 编译Android系统,生成
system.img
系统镜像和ramdisk.img
镜像 - 对SD卡分区
- 将编译好的镜像文件写入分好区的SD卡
下载Linux内核和Android源码
- Android版本:Marshmallow(android 6.0.1)
- 编译平台:Ubuntu 14.04 64bit (下载加编译至少准备100G硬盘空间)
下载Android源码
下载Android源码可以参考官方网站http://source.android.com/source/downloading.html
。 但是考虑到国内无法访问Google,以下采用国内tuna清华镜像下载。 步骤如下:
1.下载repo工具
chmod a+x ~/bin/repo
2.建立工作目录:
3.初始化仓库:
- 首先得编辑~/bin/repo文件修改
REPO_URL
变量,操作如下: - 在工作目录初始化仓库
- 下载raspberrypi2用的manifests文件到repo。这样可以repo到树莓派相关的硬件文件
4. 最后就可以下载源码了
在你刚才新建的工作目录执行repo sync
, 下载过程很长,可能需要好几天,当下载中途出错,可以执行repo sync
,便可以自动继续下载
编译Linux内核
交叉编译环境的搭建
下载交叉编译
在raspberrypi的github官方主页的tools仓库有交叉编译环境,地址如下 https://github.com/raspberrypi/tools/tree/master/arm-bcm2708
该目录中有总共有四个编译环境,根据不同的编译平台,我选用的是gcc-linaro-arm-linux-gnueabihf-raspbian
下载到Ubuntu任意目录。
设置其环境变量
最末尾添加
执行 source /etc/profile
使之立即生效
编译Linux内核
编译Android系统
在开始编译Android系统之前,需要先修改framework中的一个可能导致的bug,文件GestureDetector.java
在490行onTouchEvent中添加如下switch几句话:
接着,可以开始编译Android系统了,切换到Android源码目录
编译时间根据cpu性能而不同,一般4小时左完成。
向SD卡写入内核和系统
如何将编译好的系统写入sd卡可以参考我在YouTube上找到一个视频,非常详细~包括如何分区,如何写入镜像等等 http://v.youku.com/vshow/idXMTQ2MzY2MzA1Ng==.html
下面是简短的文字描述攻参考
SD卡分区
分区工具,Ubuntu自带的Gparted
总共分四个区
p1512MFat32boot*bootp2537Mext4system p3512Mext4cache p4剩余全部ext4data写入Android镜像
上一步中Android系统编译完成后会在out/target/product/rpi2
中生成system.img
镜像文件。dd命令将其写入P2
分区
接着将所需的其他文件直接拷贝到p1
分区即boot目录(直接拷贝),总共8个:device/brcm/rpi2/boot/*下的所有文件:`bootcode.bin,cmdline.txt,config.txt,fixup.dat,start.elf`
kernel/rpi/arch/arm/boot/zImage
kernel/rpi/arch/arm/boot/dts/bcm2709-rpi-2-b.dtb
out/target/product/rpi2/ramdisk.img
复制完成后就可以给raspberry上电,启动了。
可能遇到的问题
问题:用HDMI口连接显示器是,显示器提示分辨率无法匹配。或者黑屏。 解决:在config.txt中加 hdmiignoreedid=0xa5000080。这样可以不用理会显示器具体,配置,而是强制输出到显示器。
- raspberryPi2 移植Android系统
- RaspberryPi2 安装系统到硬盘
- Android系统移植-按键移植
- Android系统移植准备
- Android系统Wifi移植
- Android系统移植全过程
- Android系统移植全过程
- Android系统移植全过程
- Android系统移植全过程
- Android系统Wifi移植
- Android系统Wifi移植
- Android系统Wifi移植
- android系统移植
- Android系统移植全过程
- Android系统移植
- android 系统移植
- 系统移植-android
- Android系统移植总结
- ANGEL:一个新型的分布式机器学习系统
- Linux(rad hat)基础知识
- 判断模拟器是否连网 没网进入连接中
- jquery mobile中的pageinit事件随笔
- ambari中spark thrift server 挂掉
- raspberryPi2 移植Android系统
- Eclipse添加注释模板
- python2.7剪刀石头布代码示例
- 索引初学
- 两种方式查看自己的Django版本
- java 基础知识点汇总
- 做技术的「五比一」原则
- js实现二分搜索的两种方法
- 剑指offer_1 二维数组中的查找