万万没有想到再次编译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. asp.net web.config 设置Session过期时间

    在Asp.net中,可以有四处设置Session的过期时间:(原文作者:望月狼地址:http://www.cnblogs.com/wangyuelang0526/) 一.全局网站(即服务器)级 IIS ...

  2. Android笔记:DrawerLayout抽屉布局的使用

    DrawerLayout(抽屉布局),在各种app中经常出现,比如csdn.. 如下示,只要从屏幕侧边滑一下,或者点击左上角的图标,抽屉就会出来. DrawerLayout要点: 1.使用Drawer ...

  3. 网站微信登录授权 ASP.NET

    最新做一些项目都有微信登录注册什么的,今天就把自己整理的demo提供给大家 微信认证流程(我自己简称三次握手): 1.用户同意授权,获取code 2.通过code换取网页授权access_token, ...

  4. 未添加document.ready产生的BUG

    今天在框架里使用superslide插件时,在javascript部分 <script type="text/javascript"> jQuery(".yj ...

  5. 《Linux多线程服务端编程:使用muduo C++网络库》上市半年重印两次,总印数达到了9000册

    <Linux多线程服务端编程:使用muduo C++网络库>这本书自今年一月上市以来,半年之内已经重印两次(加上首印,一共是三次印刷),总印数达到了9000册,这在技术书里已经算是相当不错 ...

  6. read函数返回值始终为1

    部分程序如下: while(count=read(fd_s,buf,512)>0)      printf("count=%d\n",count);      write(f ...

  7. .NET entityframework for mysql ,datetime字段存储值时有误差

    昨天Tester发现数据有问题,大部分时间“datetime类型”都多了一秒,很少一部分数据的时间能完全对上(年月日时分秒),因为缺少关键日志,就各种排查,最后发现在调用Savechange方法前一刻 ...

  8. mysql Statement violates GTID consistency 的坑

    今天项目迁移,重新换了一个数据库版本,然后问题来了,原本运行正常的程序迁移过来之后就是不能正常运行,后台报错如下: update tbl_user_info set -- 强制下架 mv_count ...

  9. 微信公众账号开发之N个坑(二)

    上篇说到微信公众账号的几个坑,前面五个,已经说到菜单,宝宝继续往下赘述了.可惜,还不知道宝宝的宝宝到底是不是心疼宝宝呢,完了,我凌乱了... 回到正题,我们就不吐槽其他的了,上一篇说到微信的菜单了,那 ...

  10. 服务器内存UDIMM与RDIMM区别

    UDIMM 全称是无缓冲双信道内存模块(Unbuffered Dual In-Lne Memory Modules),它不支持服务器内存满配,就是最高容量了,因为使用UDIMM内存时最大使用每通道只能 ...