android5.1 for tq335x
万万没有想到再次编译aosp已经是半年以后了,未完的工作总是要继续进行的。
aosp不是通过repo下载的,而是在百度网盘里面找了网友的分享下载的。然后编译的方法直接挂个vpn到谷歌的官网上去看需要什么条件,对着来即可。用同事的4核E5310,4G内存的机器,编译了大概十小时的样子,终于是编译出来了,也是醉了。看了ccahe里面存了大概8个G不到的缓存,所以编译的时间会这么久了。
板子是同事的TQ335x,原先就有android4.0的镜像,可以烧进去直接启动。而自己希望的,可以把android5.1移植上去。
试试看吧。
汇报一下进展,kernel直接从linaro下载的支持android5.1的内核,结果万万没有想到mtd驱动有点问题,各种根文件系统都启动失败。无奈尝试nfs也不是很顺利,各种权限问题。
然后今天用了ramdisk,又是各种 “RAMDISK: incomplete write (14434 != 32768)”,网上说的也都不是很对。然后自己配了配ramdisk_size终于起来了,虽然还有报错,因为没有搞清楚这个值就不乱说了。一句话,往大的填。
然后起来之后又出现了selinux的权限问题,最后查了内核的配置,发现selinux support policy没有配上去啊,我也是醉了。加上去之后,又出现了下面的情况:
SELinux: policydb version 26 does not match my version range 15-19
谷歌之后貌似这个好解决,修改 external/sepolicy/Android.mk 里面的:POLICYVERS ?= 26
应该改小一些就可以了,不过又要重新编译aosp了……
selinux改完之后想不到又过了一周才把文件系统起来,进了console。用的还是NFS的文件系统。
不知道为什么selinux的权限总是导致root/sbin目录下的ueventd这些程序没有权限启动,错误大致如下:
init: cannot execve('ueventd'): Permission denied
解决方法也很简单粗暴,可能是我编译的user的release版本的原因,最后直接编了一个eng的debug版本,然后把selinux给关掉即可。
方法在aosp的官网上面有说了,在boot的cmdline加上 androidboot.selinux=disabled 即可。
目前已经可以进console了,那些基础组件应该都起来了。接下来要做的是内核启动的时候有/class/switch初始化出错,以及让屏幕亮起来。
最新更新,因为九月份被公司派去出差了一个多月,回来之后已经想不起之前的进度了,暂时又搁浅了……
android5.1 for tq335x的更多相关文章
- Android5.1.1 - APK签名校验分析和修改源码绕过签名校验
Android5.1.1 - APK签名校验分析和修改源码绕过签名校验 作者:寻禹@阿里聚安全 APK签名校验分析 找到PackageParser类,该类在文件“frameworks/base/cor ...
- [实践] Android5.1.1源码 - 在Framework中添加自定义系统服务
前言 本文的方法要修改Android源码.但只要将系统服务写出来,也可以注入system_server进程将系统服务加载到system_server中. 步骤 1. 添加一个aidl文件,我将aidl ...
- [实践] Android5.1.1源码 - 让某个APP以解释执行模式运行
[实践] Android5.1.1源码 - 让某个APP以解释执行模式运行 作者:寻禹@阿里聚安全 前言 本文的实践修改了Android5.1.1的源码. 本文只简单的讲了一下原理.在“实践”一节 ...
- android5.0联系人 sort_key改成phonebook_label
项目中用到了联系人根据字母排序,在android4.0手机上是可以的,但是在android4.4以上的手机排序是乱的,一般字母排序都是根据sort_key这个拼音进行排序,而android5.0这个字 ...
- ANdroid5.0不能隐式启动service,必须显示,解决办法,加服务端包名
Intent intent = new Intent(); intent.setAction("com.viaembedded.veonvif.RemoteService");// ...
- 一个Activity掌握Android5.0新控件 (转)
原文地址:http://blog.csdn.net/lavor_zl/article/details/51279386 谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常 ...
- Ubuntu 下载 & 编译 Android5.1 源码
ustc & tsinghua android srchttps://lug.ustc.edu.cn/wiki/mirrors/help/aosphttps://mirrors.tuna.ts ...
- Android的学习——ubuntu下android5.1源码的make编译
在repo sync下载源码后,经历了漫长的时间,终于可以进行下一步了. 在进行make之前还需要三个步骤. 1> source build/envsetup.sh:加载命令 ...
- android5.x新特性之Tinting
Android5.X对图形操作上有更多的功能.下面来看看Tinting(着色) Tinting的使用非常简单,几乎 没什么好说的,只要在xml中配置好tint和tintMode即可.直接看实际例子吧. ...
随机推荐
- 关于js原型继承
js的每个类都有一个prototype对象 访问对象的属性时,会先访问到对象自身是否有定义这个属性 如果没有定义,就会去访问对象所属类型的prototype对象是否有此属性 原型继承就是把类型的pro ...
- C#字符串操作(參照圓友)
直接上實例代碼 staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD&q ...
- Codeforce 370J Bottles(动态规划-01背包)
题目链接:http://codeforces.com/problemset/problem/730/J 题目大意:有n个杯子, 每个杯子有两个值一个是已装水量,一个是可装水量.从一个杯子向另一个杯子倒 ...
- 总结A*,Dijkstra,广度优先搜索,深度优先搜索的复杂度比较
广度优先搜索(BFS) 1.将头结点放入队列Q中 2.while Q!=空 u出队 遍历u的邻接表中的每个节点v 将v插入队列中 当使用无向图的邻接表时,复杂度为O(V^2) 当使用有向图的邻接表时, ...
- MAC 安装 Protobuf
1.确认MAC装有g++.make.vim工具 2.安装make工具使用 brew install make 3.安装protobuf brew install protobuf 4.安装 ...
- 修改页面JS 360浏览器
javascript:document.body.contentEditable='true'; document.designMode='on'; void 0
- Asp.Net MVC4入门指南(4):添加一个模型
在本节中,您将添加一些类,这些类用于管理数据库中的电影.这些类是ASP.NET MVC 应用程序中的"模型(Model)". 您将使用.NET Framework 数据访问技术En ...
- Knockout.Js官网学习(value绑定)
前言 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件<input>,<select>和<textarea>上. 当用户编辑表单 ...
- jQuery动画特效笔记
show().hide().fadeIn().fadeOut().slideDown.slideUp.slideToggle()都接受可选的时长和回调参数(选项对象参数). toggle(durati ...
- IOS常见错误之一连线错误
在IOS编程中,UI方面,对于新手,接触时,不免喜欢拖控件,觉得省去了一些麻烦,其实在操作控件的过程中也有很多问题需要注意 本人今天就说下遇到的一个问题. setValue:forUndefinedK ...