制作蓝魔W13PRO兼容包笔记

因为没有W13PRO的机器,靠论坛的朋友测试,制作了五次兼容包才成功。下面简单说一下心得什么的。

底包都是Christiantroy为艾诺精灵II制作的固件(CM10和AOKP),兼容包里面的东西是取自之前夜游(wisunny)编译的AOKP(尝试过官方固件的东西,根本开机都不行。。。),想研究的话,大家可以拆开我的兼容包,对照本笔记还是很有帮助的。

首先要解决的是内核,直接拿夜游的boot.img就可以了,我尝试解开boot.img结果发现失败了,还不知道怎么回事,可能做过什么加密之类的吧。

其次让我们进入system目录下吧,lib下的libhardware_legacy.so这个文件是和WiFi的驱动加载有关的,这个文件决定了开启关闭WiFi要加载和卸载的驱动模块,因为底包的WiFi驱动都是dhd.ko,而W13PRO用的WiFi驱动是wlan.ko!

usr/idc下面那个pixcir168.idc文件是和触摸屏有关的,也必须带上。

lib/modules下都是对应内核的模块,直接从夜游AOKP里取的,etc文件夹下的东西大家看一下就明白了,只是提一下里面be_movie和be_photo是SONY Bravia Engine,不算“兼容”的内容,应该算做“补丁”部分。

bin下面的set_display_mode.sh是很关键的,设置屏幕分辨率的,如果数值不对会造成显示画面太小或者太大。

回到第一层,META-INF/com/google/android/updater-script这个脚本文件包含了刷机时要做的事情,如果有人修改了补丁包重新打包,记得要看看该更改权限的地方有没有更改。最外面的addition脚本文件则是针对build.prop进行修改的,用的是sed这个强大的文字处理工具,其实我也不太懂sed,边Google学边写的。

最后说一下刷GApps失败的问题,估计是万恶的system分区(UBI格式)没有被成功加载,所以我解包重新修改了updater-script的相关函数。

另外要提到的就是/sbin/下可能并没有sh这个文件或者其软链接,因此脚本文件的首行的#!/sbin/sh应该改成#!/system/bin/sh,以免脚本文件根本无法执行。

下载地址神马的上蓝魔之家去看我的帖子

Published by

librehat

自由軟體萬歲!