万万没有想到再次编译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的更多相关文章

  1. Android5.1.1 - APK签名校验分析和修改源码绕过签名校验

    Android5.1.1 - APK签名校验分析和修改源码绕过签名校验 作者:寻禹@阿里聚安全 APK签名校验分析 找到PackageParser类,该类在文件“frameworks/base/cor ...

  2. [实践] Android5.1.1源码 - 在Framework中添加自定义系统服务

    前言 本文的方法要修改Android源码.但只要将系统服务写出来,也可以注入system_server进程将系统服务加载到system_server中. 步骤 1. 添加一个aidl文件,我将aidl ...

  3. [实践] Android5.1.1源码 - 让某个APP以解释执行模式运行

    [实践] Android5.1.1源码 - 让某个APP以解释执行模式运行   作者:寻禹@阿里聚安全 前言 本文的实践修改了Android5.1.1的源码. 本文只简单的讲了一下原理.在“实践”一节 ...

  4. android5.0联系人 sort_key改成phonebook_label

    项目中用到了联系人根据字母排序,在android4.0手机上是可以的,但是在android4.4以上的手机排序是乱的,一般字母排序都是根据sort_key这个拼音进行排序,而android5.0这个字 ...

  5. ANdroid5.0不能隐式启动service,必须显示,解决办法,加服务端包名

    Intent intent = new Intent(); intent.setAction("com.viaembedded.veonvif.RemoteService");// ...

  6. 一个Activity掌握Android5.0新控件 (转)

    原文地址:http://blog.csdn.net/lavor_zl/article/details/51279386 谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常 ...

  7. Ubuntu 下载 & 编译 Android5.1 源码

    ustc & tsinghua android srchttps://lug.ustc.edu.cn/wiki/mirrors/help/aosphttps://mirrors.tuna.ts ...

  8. Android的学习——ubuntu下android5.1源码的make编译

    在repo sync下载源码后,经历了漫长的时间,终于可以进行下一步了. 在进行make之前还需要三个步骤. 1> source build/envsetup.sh:加载命令          ...

  9. android5.x新特性之Tinting

    Android5.X对图形操作上有更多的功能.下面来看看Tinting(着色) Tinting的使用非常简单,几乎 没什么好说的,只要在xml中配置好tint和tintMode即可.直接看实际例子吧. ...

随机推荐

  1. Redis在windows下安装和PHP中使用

    1.redis简介redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  2. HDU1054 Strategic Game——匈牙利算法

    Strategic Game Bob enjoys playing computer games, especially strategic games, but sometimes he canno ...

  3. Nginx Location配置总结

    Nginx Location配置总结 语法规则: location [=|~|~*|^~] /uri/ { - }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即 ...

  4. UIWebView显示乱码问题

    今天有人问Swift中UIWebView加载页面出来的是乱码,问知道怎么解决么? OC我知道肯定不会有乱码问题,Swift就不知道了,因为没有试过.....于是...我自己动手试试啦... OC和Sw ...

  5. 【&】位与运算符【|】位或运算符之权限控制算法

    [&]位与运算符: 按位与运算符"&"是双目运算符. 其功能是参与运算的两数各对应的二进位相与.只有对应的两个二进位均为1时,结果位才为1 ,否则为0.参与运算的数 ...

  6. Socket accept failed

    启动tomcat显示如下错误: java.net.SocketException: select failed at java.net.PlainSocketImpl.socketAccept(Nat ...

  7. ubuntu 15 安装cuda,开启GPU加速

    1 首先要开启GPU加速就要安装cuda.安装cuda,首先要安装英伟达的驱动.ubuntu有自带的开源驱动,首先要禁用nouveau.这儿要注意,虚拟机不能安装ubuntu驱动.VMWare下显卡只 ...

  8. 编译Hadoop

    Apache Hadoop 生态圈软件下载地址:http://archive.apache.org/dist/hadoop/hadoop下载地址 http://archive.apache.org/d ...

  9. PE文件头

    pe文件头查看器下载与原文地址: http://www.pc6.com/softview/SoftView_109840.html PE文件入门: PE文件总的来说是由DOS文件头.DOS加载模块.P ...

  10. 一个简单算法题引发的思考<DNA sorting>(about cin/template/new etc)

    首先是昨天在北京大学oj网上看到一个简单的算法题目,虽然简单,但是如何完成一段高效.简洁.让人容易看懂的代码对于我这个基础不好,刚刚进入计算机行业的小白来说还是有意义的.而且在写代码的过程中,会发现自 ...