简单又强大的联发科手机PhilZ Touch Recovery安装器,详细教程 - 本文出自高州吧

原文地址:http://bbs.gaozhouba.com/thread-19355-1-1.html

* * * * * * * * * * * * * * * * * * * * * * * * *

PhilZ Touch 6 Recovery

CWM Advanced Edition 6.x

* * * * * * * * * * * * * * * * * * * * * * * * *

喜欢刷机的朋友肯定对PhilZ Touch CWM Advanced Edition 非常熟悉了,令人兴奋的是它现在已经完全支持联发科芯片(MediaTek)的设备了。

支持的联发科设备 - Arm11, Cortex-A9, Cortex-A7

警告:

正常的情况下即使是刷入了错误的第三方recovery 也只会破坏掉recovery,但仍然是安全之上,这个需要自己承担风险了。

PhilZ Touch 包含了众多的特性,所以通常它能在recovery 分区大于6Mb 的MTK 设备上工作,当然你也可以碰碰运气。

测试已经在MT6573 & MT6577 老机器上可以正常使用。

首先,做一个原厂ROM 的完整备份,可以用MTK Droid Tools 来操作。

再在谷歌市场搜索Flashify 并安装来备份你当前的recovery(安全起见),boot.img 也需要备份。

解压下载到的文件到你的桌面,Win7或Win8[.1] 的话请禁用UAC 后重启你的电脑,在双击启动PhilZ.exe ,再按照提示操作。

MTK联发科设备上已知的问题

大多数老款中端联发科手机的recovery 分区仅仅是6Mb 大小,如MT6589, MT6572。多数情况下不能正常使用。但是为什么有些老设备低端机MT6573,MT6577 能使用呢?因为它们的内核较小。已经很多网友反馈目前较新的联发科手机的recovery 分区都有7Mb & 8Mb 大小,最新的MT6592 recovery 分区 甚至超过8Mb。

PhilZ Touch 当前不支持ubifs 文件系统

PhilZ Touch 当前不支持带有/custpack 分区的MTK 阿尔卡特机型

还没有确认内置SD卡使用 /storage/usbdisk voldmanaged=usbdisk:auto 的最新voldmanaged 挂载点,所以它不会在采用了这种设计的挂载内置SD卡。

过去,有报告称一些MTK手机上,recovery 下无法触摸操作,可尝试使用适用于你机型的其他不同版本内核。Recovery 是独立存在的,所以GB(2.3.x)、ICS(4.0.x)或者JB(4.1.x)的内核下都可以正常工作!

flip screen 通过添加 Flip screen 标记(flag)后可以正常在 PhilZ Touch 上工作。但是, 它有个小毛病,就是屏幕会闪烁 & 使用虚拟键时会弹跳。所以,如果触摸可以完全正常工作的话,我们可以不使用虚拟键或者永久禁用它。PhilZ Settings -> GUI Preferences -> Toggle Virtual Keys。

不要在锁bootloader 的MTK机型上尝试,已经确认会变砖。

这个工具会自动安装Aroma FileManager(Aroma 文件管理器),一些MTK 设备上Aroma 文件管理器不能启动,出现的错误提示是  E:Can‘t make /tmp/update_binary -> Installation aborted . . .

解决方法

首先使用自动模式(Auto),它会自动备份你当前的recovery。

拔掉数据线,正常使用手机状态,从BackUp-MTK-Recovery 文件夹复制recovery.img 到Stock 文件夹,它会叫你插入USB 链接电脑。

现后用Notepad++ 编辑器打开Stock/recovery/rmdisk/init.rc 并添加下面高亮的那行内容后保存。

连接电脑,按OK,选择你设备分辨率,它会自动执行安装。

mkdir /emmc

mkdir /system

mkdir /data

mkdir /cache

mkdir /tmp <-添加这一行到 init.rc

mount tmpfs tmpfs /tmp

chown root shell /tmp

chmod 0775 /tmp

现在,Aroma FileManager 应该能正常使用了。

个案分析,分辨率为480x850的老ICS 4.04 MT6577 机型,移植的PhilZ Touch 不能启动,然后发现是内核不能支持超过320x480分辨率的PhilZ!

解决方法

执行步骤:Windows 的资源管理器 -> 显示隐藏文件及文件夹 -> MTK_PhilZ -> bin -> 从res.7z 解压出240x320_bg.png 并重命名为stitch.png。

正常模式下插入数据线,选择你的设备分辨率,它会问你是否拥有flipped screen。

复制粘贴解压出来的240x320 stitch.png 到Stock/recovery/rmdisk/res/images 文件夹下覆盖,然后确认刚才的flipped screen 问题。

然后执行步骤:PhilZ Settings -> GUI Preferences -> Change Background -> Reset Koush Background。

关于挂载USB storage 的故障探测

对于MTK 设备,fstab v2 也就是标准的fstab( unified fstab) 已经不再神秘了,现在在PhilZ Touch里可已经完美挂载内外sdcard 啦。

我没有联发科的机子,由于不同的voldmanaged 路径,所以在recovery里很有可能不能挂载内外存储器。下面将去确认并解决这个问题。

打开编辑器建立新文本(推荐Notepad++),复制下的内容并保存到MTK_PhilZ 文件夹作为解压/打包移植的PhilZ Touch recovery.img 文件。

MKT_unpack.bat

@echo off

cd %~dp0

chcp 1251

if (%1)==() (

echo Select image

goto end

)

setlocal enabledelayedexpansion

COLOR 0A

mode con:cols=65 lines=31

bin\sfk166.exe hexfind %1 -pat -bin /88168858/ -case >bin\offset.txt

bin\sfk166.exe hexfind %1 -pat -bin /FFFFFFFF1F8B08/ -case >>bin\offset.txt

bin\sfk166.exe find bin\offset.txt -pat offset>bin\off2.txt

bin\sfk166.exe replace bin\off2.txt -binary /20/0A/ -yes

if exist %~N1 rd /s /q %~N1 >nul

set /A N=0

:loop

FOR /F %%G IN (bin\off2.txt) DO (

if !N!==1 (

set /A ofs1=%%G

set /A N+=1

)

if !N!==3 (

set /A ofs2=%%G

set /A N+=1

)

if !N!==5 (

set /A ofs3=%%G+4

set /A N+=1

)

if `%%G` EQU `offset` (

set /A N+=1

)

)

FOR %%i IN (%1) DO ( set /A boot_size=%%~Zi )

echo.

echo - size of %1 %boot_size% byte

echo - kernel offset     - %ofs1%

echo - ram_header offset - %ofs2%

echo - ram_disk offset   - %ofs3%

echo.

del bin\offset.txt

del bin\off2.txt

md %~N1

echo - extracting kernel_header...

bin\sfk166.exe partcopy %1 -fromto 0x0 %ofs1% %~N1\kernel_header -yes

echo - extracting kernel...

bin\sfk166.exe partcopy %1 -fromto %ofs1% %ofs2% %~N1\kernel -yes

echo - extracting ram_header...

bin\sfk166.exe partcopy %1 -fromto %ofs2% %ofs3% %~N1\ram_header -yes

echo - extracting ram_disk...

bin\sfk166.exe partcopy %1 -fromto %ofs3% %boot_size% %~N1\ram_disk.gz -yes

echo - unpack ram_disk.gz...

bin\7za.exe -tgzip x -y %~N1\ram_disk.gz -o%~N1 >nul

echo - unpack ram_disk.cpio...

md %~N1\rmdisk

cd %~N1

cd rmdisk

%~dp0bin\cpio.exe -i <../ram_disk

cd ..

cd ..

copy %1 %~N1

echo.

echo - Done ^^!

echo.

pause

:end

MTK_pack.bat

@echo off

cd %~dp0

chcp 1251

if (%1)==() (

echo Select folder

goto end

)

setlocal enabledelayedexpansion

COLOR 0A

mode con:cols=60 lines=39

set pt=%~N1%~X1

echo %pt%

copy %pt%\ram_header %~N1\new_ram_with_header >nul

cd %pt%

%~dp0bin\chmod og=xr rmdisk

cd rmdisk

echo - pack rmdisk to cpio...

%~dp0bin\find . | %~dp0bin\cpio.exe -o -H newc -F ../new_ram_disk.cpio >nul

move ..\ram_disk ..\ram_disk_old >nul

copy ..\new_ram_disk.cpio ..\ram_disk

echo - pack rmdisk to gzip...

%~dp0bin\gzip -n -f ../ram_disk

echo - add header...

%~dp0bin\dd if=../ram_disk.gz >> ../new_ram_with_header

FOR %%i IN (../ram_disk.gz) DO ( set /A size=%%~Zi )

echo - new ramdisk %size% byte

%~dp0bin\sfk166 hex %size% -digits=8 >../../size.txt

FOR %%i IN (../../size.txt) DO ( set /A size=%%~Zi )

%~dp0bin\sfk166 split 1 ../../size.txt ../../1 >nul

FOR /F  %%i IN (../../1.part7) DO (set a1=%%i)

FOR /F  %%i IN (../../1.part8) DO (set a2=%%i)

FOR /F  %%i IN (../../1.part5) DO (set a3=%%i)

FOR /F  %%i IN (../../1.part6) DO (set a4=%%i)

FOR /F  %%i IN (../../1.part3) DO (set a5=%%i)

FOR /F  %%i IN (../../1.part4) DO (set a6=%%i)

FOR /F  %%i IN (../../1.part1) DO (set a7=%%i)

FOR /F  %%i IN (../../1.part2) DO (set a8=%%i)

echo %a7%%a8%>size.txt

echo %a5%%a6%>>size.txt

echo %a3%%a4%>>size.txt

echo %a1%%a2%>>size.txt

echo - add new size in header 0x%a1%%a2% 0x%a3%%a4% 0x%a5%%a6% 0x%a7%%a8%

%~dp0bin\sfk166.exe echo %a1%%a2% %a3%%a4% %a5%%a6% %a7%%a8% +hextobin ../../tmp1.dat

%~dp0bin\sfk166.exe partcopy ../../tmp1.dat 0 4 ../new_ram_with_header 4 -yes>nul

echo - make image...

%~dp0bin\mkbootimg.exe --kernel ../kernel --ramdisk ../new_ram_with_header -o ../new_image.img

del size.txt >nul

copy ..\new_image.img %~dp0\new_image.img

move ..\ram_disk_old ..\ram_disk >nul

cd ..

cd ..

del size.txt >nul

del tmp1.dat>nul

del 1.part*>nul

echo.

echo - Done ^^!

echo.

pause

:end

仅需要拖动并放开移植的PhilZ Touch recovery.img 这个文件到MTK_unpack.bat 去执行解压,然后拖动并放开解压出来的recovery 文件夹到MTK_pack.bat 上。首先要关掉UAC哦。

或者你也可以下载Windows 的 Boot/Recovery repack utils 去解压/打包移植的PhilZ Touch recovery。基本上,它的操作是完全一样的,除了这个移植工具。它使用单独的7za.exe 去操作 而不是依赖7z.dll 的7z.exe。

MT65xx 的recovery.fstab

# Android fstab file.

# The filesystem that contains the filesystem checker binary (typically /system) cannot

# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

#

/dev/bootimg    /bootimg      emmc     defaults                               defaults

/dev/recovery   /recovery     emmc     defaults                               defaults

/dev/uboot      /uboot        emmc     defaults                               defaults

/[email protected]   /system       ext4     ro,noatime                             wait

/[email protected]     /cache        ext4     noatime,nosuid,nodev,noauto_da_alloc   wait

/[email protected]   /data         ext4     noatime,nosuid,nodev,noauto_da_alloc   wait,encryptable=footer

# For MT6577

/devices/platform/mtk-sd.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard0:6

/devices/platform/mtk-sd.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto

# For MT65xx

/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard0:6

/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto

确认你MTK 设备sdcard 的voldmanaged  路径 -> adb shell find /sys -name mmc0。你不必要包含这个首要路径/sys,那么它会在/devices 开始搜索。

确认你的内置sdcard 分区号(internal sdcard partition no.) -> adb shell cat /proc/dumchar_info 查看fat 分区 block 信息 /dev/block/mmcblk0p6,作相应更新。。。

同时也需要更新到fstab.${ro.hardware} 。

正确检查${ro.hardware} 的方法 -> adb shell getprop ro.hardware -> mt6577 那么应该重命名为 fstab.mt6577。

一些MTK机型不用fat 作为内置sdcard的挂载点,那么这个工具将无法确认它,并且一直PhilZ Touch 将导致手机不能启动或者无限重启。。。

/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard0:    <- 空的

/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto

解决方法 - 添加 # 到这行的开始或者仅需删除它,这样就可以了

#/devices/platform/mtk-msdc.0/mmc_host/mmc0 auto auto defaults voldmanaged=sdcard0:    <- 空的

/devices/platform/mtk-msdc.1/mmc_host/mmc1 auto auto defaults voldmanaged=sdcard1:auto

如何确认内置SD 的USB voldmanaged  挂载点? -> adb shell su -c "ls -R" > c:\users\你电脑的用户名\desktop\usb.txt

在里面查找任何usb 关键字,尝试更新至 fstab.${ro.hardware} 及recovery.fstab 。两个都需要,否则无法工作。

如果你的设备是这样的: /data/media 。那么就无效了。

时间: 2024-08-10 23:16:57

简单又强大的联发科手机PhilZ Touch Recovery安装器,详细教程 - 本文出自高州吧的相关文章

iPhone手机免越狱修改定位的详细教程

今天给大家介绍一款不用越狱的虚拟定位软件--iFakeLocation,直接修改手机的系统定位,支持最新的ios系统,支持抖音.映客.陌陌.探探.快手.花椒.Now等各类直播平台,微信附近人.朋友圈,微博,钉钉.企业微信.云之家.云参会.E行销等考勤类软件,支持各类手游棋牌类王者荣耀.支持查找我的iPhone等,在电脑上安装软件,然后连接手机就可以修改定位了,一键操作,非常简单.下面来说一下具体步骤. ?1.打开电脑默认浏览器,下载最新版本的iFakeLocation软件.? 2.下载成功后会得

TYAttributedLabel——简单,强大的iOS属性文本控件

本文转载至 http://www.mobile-open.com/2015/86578.html TYAttributedLabel 简单,强大的属性文本的控件(无需了解CoreText),支持图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示 更新: v2.4 修复imge放大bug,新增imageAlignment 和 autolayout支持,以及相应的demo,感谢xinzhengzhang,nonstriater v2.3 新增 做题demo,代码优化(4s真

(译文)12个简单(但强大)的JavaScript技巧(一)

我将会介绍和解析12个简单但是强大的JavaScript技巧. 这些技巧所有的JavaScript程序员都可以马上使用, 你不需要成为JavaScript高手才能理解这些.如果你还是新手, 而且读完所有这些技巧的详解和每种技巧是如果工作的以后运用它们, 你会写出更加简练高效的JavaScript程序. 确实, JavaScript高手已经运用这些技巧写出了很多强大, 高效的JavaScript程序. 但是你可以这样. 强大的 && 和 || 表达式 你可能在JavaScript库和Java

手机的touch事件(基于jquery)

javascript代码: $.swipe=function(opt){  var o = $.extend({    mainSelector:"",    swipeLeft:function(e,v){},    swipeRight:function(e,v){},    swipeEnds:function(v,e){}}, opt || {});  var startX=0,startY=0;var obj={    touchStart: function (e){   

Github项目解析(十一)--&gt;一个简单,强大的自定义广告活动弹窗

转载请标明出处:一片枫叶的专栏 上一篇文章中讲解了我最近写的一个快速集成二维码扫描库,其核心的实现扫描的功能,是通过调用ZXing库实现的.由于在实现二维码扫描功能的时候发现集成二维码扫描功能并不是特别方便,于是有了将其制作成标准库的想法,这个二维码库能够快速,方便的集成二维码扫描功能,项目地址是在:android-zxingLibrary**,在项目开源后有不少同学提出了许多不错的意见,目前也在不断的迭代中,自己也学到了很多. 本文我们将讲解一个简单,强大的广告活动弹窗控件.不少App在打开的

配置简单功能强大的excel工具类搞定excel导入导出工具类(一)

对于J2EE项目导入导出Excel是最普通和实用功能,本工具类使用步骤简单,功能强大,只需要对实体类进行简单的注解就能实现导入导出功能,导入导出操作的都是实体对象. 请看一下这个类都有哪些功能:????? 1.实体属性配置了注解就能导出到excel中,每个属性都对应一列.????? 2.列名称可以通过注解配置.????? 3.导出到哪一列可以通过注解配置.????? 4.鼠标移动到该列时提示信息可以通过注解配置.????? 5.用注解设置只能下拉选择不能随意填写功能.???? ? 6.用注解设置

手机版轻快PDF阅读器使用的方法

现在我们生活处处都需要手机,手机就是个移动的银行.电脑.有的人还是利用手机来进行工作的,那么如果手机接收到PDF文件,我们就需要使用手机版的PDF阅读器了,那么手机版的阅读器的使用方法是什么呢?下面就让小编来给大家介绍它的使用方法! 轻快PDF阅读器APP是一款新的小巧的PDF阅读器,适用于安卓设备,可以随时随地查看.注释和保护PDF文件.这款软件体积小.启动速度快,十分轻巧且占用内存极少:一键锁屏.夜间阅读,随心调整亮度:自动提取文档目录,一键添加书签阅读:自动定位本地文档,操作简单设计大方:

vivo怎么录屏 手机录制屏幕详细教程

在手机上我们经常可以刷到许多类似于手机游戏之类的屏幕视频我想肯定会有很多人好奇怎么录制的,今天小编所说的便是教大家如何在安卓手机上进行屏幕录像,下面便是关于vivo怎么录屏的具体操作方法,希望能对你们有所帮助. 使用工具:安卓手机 操作方法: 第一步.首先我们录制屏幕视频首先需要在手机的应用商店下载上面一款安卓录屏工具. 第二步.之后我们在手机上运行它,进入它的录屏界面,然后我们便开始录制设置它的参数,比如说清晰度,有标清.高清.超清三种画质可以选择设置,录制方向也有竖屏和横屏两种可以选择. 第

获取手机中所有已安装的应用,并判断是否系统应用

//获取手机中所有已安装的应用,并判断是否系统应用 ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); //用来存储获取的应用信息数据,手机上安装的应用数据都存在appList里 List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);   for(int i = 0; i < packages.size(); i++